{"id":613,"date":"2026-07-31T13:18:31","date_gmt":"2026-07-31T13:18:31","guid":{"rendered":"https:\/\/iotnoob.com\/wordpress\/?p=613"},"modified":"2026-07-31T14:16:06","modified_gmt":"2026-07-31T14:16:06","slug":"docker-%e0%b8%aa%e0%b8%b3%e0%b8%ab%e0%b8%a3%e0%b8%b1%e0%b8%9a-java-8-development","status":"publish","type":"post","link":"https:\/\/iotnoob.com\/wordpress\/2026\/07\/31\/docker-%e0%b8%aa%e0%b8%b3%e0%b8%ab%e0%b8%a3%e0%b8%b1%e0%b8%9a-java-8-development\/","title":{"rendered":"Docker \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a Java 8 Development"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u0e2b\u0e25\u0e31\u0e07\u0e46\u0e19\u0e35\u0e49\u0e25\u0e07 Java JDK \u0e43\u0e2b\u0e21\u0e48\u0e46\u0e21\u0e32\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 \u0e2d\u0e22\u0e48\u0e32\u0e07 Jdk17 Jdk21 <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e41\u0e15\u0e48\u0e1e\u0e2d\u0e21\u0e35 project \u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e43\u0e0a\u0e49 Jdk8 \u0e41\u0e25\u0e49\u0e27\u0e44\u0e21\u0e48\u0e2d\u0e22\u0e32\u0e01\u0e25\u0e07 Jdk8 \u0e17\u0e31\u0e1a\u0e25\u0e07\u0e44\u0e1b\u0e2d\u0e35\u0e01\u0e23\u0e2d\u0e1a \u0e01\u0e25\u0e31\u0e27\u0e21\u0e35\u0e1b\u0e31\u0e0d\u0e2b\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e32\u0e19\u0e31\u0e48\u0e07\u0e41\u0e01\u0e49<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e40\u0e25\u0e22\u0e2d\u0e22\u0e32\u0e01\u0e08\u0e30\u0e25\u0e2d\u0e07\u0e14\u0e39\u0e27\u0e48\u0e32\u0e16\u0e49\u0e32\u0e40\u0e23\u0e32\u0e40\u0e2d\u0e32 docker \u0e21\u0e32 load environment \u0e40\u0e01\u0e48\u0e32\u0e46\u0e21\u0e32\u0e43\u0e0a\u0e49 \u0e21\u0e31\u0e19\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e44\u0e23<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e15\u0e31\u0e27\u0e41\u0e23\u0e01 Docker-compose.yml<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">services:\n  java-dev:\n    build: .\n    container_name: java8-gradle-dev\n    volumes:\n      # \u0e41\u0e21\u0e1b\u0e42\u0e04\u0e49\u0e14\u0e08\u0e32\u0e01\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07 Host \u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e43\u0e19 Container\n      - .:\/app\n      # \u0e2a\u0e23\u0e49\u0e32\u0e07 Volume \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a Gradle Cache \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e44\u0e21\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e42\u0e2b\u0e25\u0e14\u0e44\u0e25\u0e1a\u0e23\u0e32\u0e23\u0e35\u0e43\u0e2b\u0e21\u0e48\u0e17\u0e38\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07\u0e17\u0e35\u0e48\u0e23\u0e31\u0e19\n      - gradle-cache:\/home\/gradle\/.gradle\n    ports:\n      - \"8080:8080\"  # \u0e1e\u0e2d\u0e23\u0e4c\u0e15\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a Web Application (\u0e1b\u0e23\u0e31\u0e1a\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e44\u0e14\u0e49\u0e15\u0e32\u0e21\u0e43\u0e08\u0e0a\u0e2d\u0e1a)\n      - \"5005:5005\"  # \u0e1e\u0e2d\u0e23\u0e4c\u0e15\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a NetBeans Remote Debugger\n    environment:\n      - GRADLE_USER_HOME=\/home\/gradle\/.gradle\n\nvolumes:\n  gradle-cache:<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e15\u0e48\u0e2d\u0e44\u0e1b Dockerfile<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"dockerfile\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">FROM gradle:4.10.3-jdk8\n\n# \u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 Working Directory \u0e43\u0e19 Container\nWORKDIR \/app\n\n# \u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e44\u0e1f\u0e25\u0e4c\u0e04\u0e2d\u0e19\u0e1f\u0e34\u0e01\u0e02\u0e2d\u0e07 Gradle \u0e40\u0e02\u0e49\u0e32\u0e21\u0e32\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e17\u0e33 Caching (\u0e0a\u0e48\u0e27\u0e22\u0e43\u0e2b\u0e49\u0e1a\u0e34\u0e27\u0e14\u0e4c\u0e40\u0e23\u0e47\u0e27\u0e02\u0e36\u0e49\u0e19)\nCOPY build.gradle settings.gradle* \/app\/\n\n# \u0e40\u0e1b\u0e34\u0e14\u0e1e\u0e2d\u0e23\u0e4c\u0e15\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a Java Remote Debugging\nEXPOSE 5005\n\n# \u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19: \u0e43\u0e2b\u0e49 Gradle \u0e23\u0e31\u0e19\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19\u0e43\u0e19\u0e42\u0e2b\u0e21\u0e14\u0e40\u0e14\u0e1a\u0e31\u0e01\u0e41\u0e25\u0e30\u0e23\u0e2d\u0e01\u0e32\u0e23\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\nCMD [\"gradle\", \"run\", \"--no-daemon\", \"--debug-jvm\"]<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e40\u0e1e\u0e34\u0e48\u0e21 build.gradle \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a start project \u0e27\u0e48\u0e32\u0e07\u0e46<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"groovy\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">plugins {\n    id 'java'\n    id 'application'\n}\n\ngroup = 'com.example'\nversion = '1.0-SNAPSHOT'\n\n\/\/sourceCompatibility = 1.8\n\/\/targetCompatibility = 1.8\n\n\njava {\n    sourceCompatibility = JavaVersion.VERSION_1_8\n    targetCompatibility = JavaVersion.VERSION_1_8\n}\n\n\nrepositories {\n    mavenCentral()\n}\n\ndependencies {\n\n    testImplementation 'junit:junit:4.12'\n\n    compileOnly 'org.projectlombok:lombok:1.18.46'\n    annotationProcessor 'org.projectlombok:lombok:1.18.46'\n    testCompileOnly 'org.projectlombok:lombok:1.18.46'\n    testAnnotationProcessor 'org.projectlombok:lombok:1.18.46'\n\n    implementation 'com.fasterxml.jackson.core:jackson-databind:2.17.0'\n    implementation 'com.fasterxml.jackson.core:jackson-core:2.17.0'\n    implementation 'com.fasterxml.jackson.core:jackson-annotations:2.17.0'\n    implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.17.0'\n\n    implementation 'com.formdev:flatlaf:1.0'\n    implementation 'com.google.code.gson:gson:2.8.6'\n    implementation 'org.apache.httpcomponents:httpclient:4.5.13'\n    implementation 'commons-io:commons-io:2.8.0'\n    implementation 'org.apache.commons:commons-collections4:4.4'\n    implementation 'org.apache.poi:poi:4.1.2'\n    implementation 'org.apache.poi:poi-ooxml:4.1.2'\n    implementation 'org.apache.poi:poi-ooxml-schemas:4.1.2'\n\n    implementation 'mysql:mysql-connector-java:8.0.29'\n\n    implementation 'org.apache.pdfbox:pdfbox:2.0.9'\n    implementation 'org.apache.pdfbox:pdfbox-tools:2.0.24'\n}\n\napplication {\n    if (GradleVersion.current() >= GradleVersion.version(\"6.0\")) {\n        mainClass.set('com.example.App')\n    } else {\n        mainClassName = 'com.example.App'\n    }\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e40\u0e1e\u0e34\u0e48\u0e21 nb-configuration.xml \u0e40\u0e2d\u0e32\u0e44\u0e27\u0e49\u0e43\u0e2b\u0e49 netbeans \u0e21\u0e31\u0e19 load \u0e41\u0e25\u0e49\u0e27\u0e15\u0e2d\u0e19 build \u0e21\u0e31\u0e19\u0e08\u0e30\u0e44\u0e14\u0e49 run \u0e14\u0e49\u0e27\u0e22 docker command \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b run gradle \u0e20\u0e32\u0e22\u0e43\u0e19 docker<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"xml\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?>\n&lt;configuration>\n    &lt;actions>\n        &lt;!-- \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21 Build (F11) -->\n        &lt;action name=\"build\">\n            &lt;target>exec&lt;\/target>\n            &lt;property name=\"exec.executable\">docker&lt;\/property>\n            &lt;property name=\"exec.args\">compose exec -T java-dev gradle build&lt;\/property>\n        &lt;\/action>\n\n        &lt;!-- \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21 Clean &amp; Build -->\n        &lt;action name=\"rebuild\">\n            &lt;target>exec&lt;\/target>\n            &lt;property name=\"exec.executable\">docker&lt;\/property>\n            &lt;property name=\"exec.args\">compose exec -T java-dev gradle clean build&lt;\/property>\n        &lt;\/action>\n\n        &lt;!-- \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21 Run (F6) -->\n        &lt;action name=\"run\">\n            &lt;target>exec&lt;\/target>\n            &lt;property name=\"exec.executable\">docker&lt;\/property>\n            &lt;property name=\"exec.args\">compose exec -T java-dev gradle run&lt;\/property>\n        &lt;\/action>\n\n        &lt;!-- \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21 Test (Ctrl+F6) -->\n        &lt;action name=\"test\">\n            &lt;target>exec&lt;\/target>\n            &lt;property name=\"exec.executable\">docker&lt;\/property>\n            &lt;property name=\"exec.args\">compose exec -T java-dev gradle test&lt;\/property>\n        &lt;\/action>\n    &lt;\/actions>\n&lt;\/configuration><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19\u0e01\u0e47\u0e2a\u0e31\u0e48\u0e07 docker compose up &#8211;build <br>\u0e40\u0e1e\u0e37\u0e48\u0e2d build Dockerfile<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e16\u0e49\u0e32\u0e44\u0e21\u0e48\u0e21\u0e35\u0e1b\u0e31\u0e0d\u0e2b\u0e32\u0e2d\u0e30\u0e44\u0e23 \u0e40\u0e23\u0e32\u0e01\u0e47\u0e04\u0e27\u0e23\u0e08\u0e30\u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e43\u0e19 bash \u0e41\u0e25\u0e49\u0e27 check version \u0e02\u0e2d\u0e07 gradle \u0e01\u0e31\u0e1a java \u0e44\u0e14\u0e49<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"661\" height=\"377\" src=\"https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/Screenshot-from-2026-07-31-20-17-46.png\" alt=\"\" class=\"wp-image-614\" srcset=\"https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/Screenshot-from-2026-07-31-20-17-46.png 661w, https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/Screenshot-from-2026-07-31-20-17-46-300x171.png 300w\" sizes=\"auto, (max-width: 661px) 100vw, 661px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16 run \u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 gradle \u0e08\u0e32\u0e01\u0e20\u0e32\u0e22\u0e43\u0e19 container \u0e44\u0e14\u0e49\u0e40\u0e25\u0e22<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"907\" height=\"482\" src=\"https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image.png\" alt=\"\" class=\"wp-image-616\" srcset=\"https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image.png 907w, https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-300x159.png 300w, https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-768x408.png 768w\" sizes=\"auto, (max-width: 907px) 100vw, 907px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e1e\u0e2d\u0e21\u0e35 build.gradle \u0e40\u0e27\u0e25\u0e32\u0e43\u0e0a\u0e49 netbeans \u0e40\u0e1b\u0e34\u0e14 \u0e21\u0e31\u0e19\u0e01\u0e47\u0e23\u0e39\u0e49\u0e08\u0e31\u0e01\u0e40\u0e25\u0e22<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"777\" height=\"409\" src=\"https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-1.png\" alt=\"\" class=\"wp-image-618\" srcset=\"https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-1.png 777w, https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-1-300x158.png 300w, https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-1-768x404.png 768w\" sizes=\"auto, (max-width: 777px) 100vw, 777px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e1e\u0e2d\u0e40\u0e1b\u0e34\u0e14 netbeans \u0e01\u0e47\u0e08\u0e30 resolve problem \u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e17\u0e33 priming build \u0e23\u0e2d\u0e1a\u0e41\u0e23\u0e01\u0e01\u0e48\u0e2d\u0e19<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"568\" height=\"450\" src=\"https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-2.png\" alt=\"\" class=\"wp-image-619\" srcset=\"https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-2.png 568w, https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-2-300x238.png 300w\" sizes=\"auto, (max-width: 568px) 100vw, 568px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"343\" height=\"324\" src=\"https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-3.png\" alt=\"\" class=\"wp-image-620\" srcset=\"https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-3.png 343w, https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-3-300x283.png 300w\" sizes=\"auto, (max-width: 343px) 100vw, 343px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"403\" height=\"166\" src=\"https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-4.png\" alt=\"\" class=\"wp-image-621\" srcset=\"https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-4.png 403w, https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-4-300x124.png 300w\" sizes=\"auto, (max-width: 403px) 100vw, 403px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"377\" height=\"170\" src=\"https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-5.png\" alt=\"\" class=\"wp-image-622\" srcset=\"https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-5.png 377w, https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-5-300x135.png 300w\" sizes=\"auto, (max-width: 377px) 100vw, 377px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e41\u0e1b\u0e25\u0e01\u0e15\u0e23\u0e07\u0e17\u0e35\u0e48 \u0e15\u0e2d\u0e19 build \u0e43\u0e19 netbeans \u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e21\u0e31\u0e19\u0e43\u0e0a\u0e49 local gradle \u0e40\u0e25\u0e22 \u0e40\u0e1e\u0e23\u0e32\u0e30\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e19\u0e31\u0e49\u0e19\u0e21\u0e31\u0e19\u0e40\u0e25\u0e22 run \u0e14\u0e49\u0e27\u0e22 version \u0e43\u0e2b\u0e21\u0e48<br>\u0e15\u0e32\u0e21\u0e08\u0e23\u0e34\u0e07\u0e21\u0e31\u0e19\u0e19\u0e48\u0e32\u0e08\u0e30\u0e43\u0e0a\u0e49 gradle \u0e43\u0e19 docker \u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32<br>\u0e41\u0e15\u0e48 \u0e13 \u0e08\u0e38\u0e14\u0e19\u0e35\u0e49\u0e16\u0e37\u0e2d\u0e27\u0e48\u0e32\u0e22\u0e31\u0e07\u0e43\u0e0a\u0e49\u0e44\u0e14\u0e49<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"165\" src=\"https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-6-1024x165.png\" alt=\"\" class=\"wp-image-623\" srcset=\"https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-6-1024x165.png 1024w, https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-6-300x48.png 300w, https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-6-768x123.png 768w, https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-6.png 1027w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e41\u0e15\u0e48\u0e1e\u0e2d\u0e2a\u0e31\u0e48\u0e07 javap \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e14\u0e39 major version \u0e02\u0e2d\u0e07 compile file \u0e01\u0e47\u0e40\u0e2b\u0e47\u0e19\u0e27\u0e48\u0e32 major version \u0e40\u0e1b\u0e47\u0e19 52 \u0e0b\u0e36\u0e48\u0e07\u0e01\u0e47\u0e15\u0e23\u0e07\u0e01\u0e31\u0e1a Java 8 \u0e2d\u0e22\u0e39\u0e48 \u0e01\u0e47\u0e41\u0e1b\u0e25\u0e01\u0e14\u0e35<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"889\" height=\"506\" src=\"https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-7.png\" alt=\"\" class=\"wp-image-624\" srcset=\"https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-7.png 889w, https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-7-300x171.png 300w, https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-7-768x437.png 768w\" sizes=\"auto, (max-width: 889px) 100vw, 889px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e25\u0e2d\u0e07\u0e2a\u0e31\u0e48\u0e07 gradle run \u0e08\u0e32\u0e01\u0e20\u0e32\u0e22\u0e43\u0e19 container \u0e21\u0e31\u0e19\u0e43\u0e0a\u0e49\u0e40\u0e27\u0e25\u0e32 compile \u0e04\u0e23\u0e31\u0e49\u0e07\u0e41\u0e23\u0e01\u0e44\u0e1b 26s \u0e0b\u0e36\u0e48\u0e07\u0e19\u0e32\u0e19\u0e1c\u0e34\u0e14\u0e1b\u0e23\u0e01\u0e15\u0e34 \u0e41\u0e15\u0e48\u0e01\u0e47\u0e17\u0e33\u0e07\u0e32\u0e19\u0e44\u0e14\u0e49 \u0e41\u0e15\u0e48\u0e1e\u0e2d run \u0e2d\u0e35\u0e01\u0e23\u0e2d\u0e1a\u0e01\u0e47\u0e40\u0e23\u0e47\u0e27\u0e41\u0e25\u0e49\u0e27<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"888\" height=\"319\" src=\"https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-8.png\" alt=\"\" class=\"wp-image-625\" srcset=\"https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-8.png 888w, https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-8-300x108.png 300w, https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/07\/image-8-768x276.png 768w\" sizes=\"auto, (max-width: 888px) 100vw, 888px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e42\u0e14\u0e22\u0e23\u0e27\u0e21 \u0e01\u0e47\u0e16\u0e37\u0e2d\u0e27\u0e48\u0e32\u0e43\u0e0a\u0e49\u0e44\u0e14\u0e49\u0e41\u0e25\u0e49\u0e27\u0e25\u0e48\u0e30\u0e19\u0e30<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0e2b\u0e25\u0e31\u0e07\u0e46\u0e19\u0e35\u0e49\u0e25\u0e07 Java JDK \u0e43\u0e2b\u0e21\u0e48\u0e46\u0e21\u0e32\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 \u0e2d\u0e22\u0e48\u0e32\u0e07 Jdk17 Jdk21 \u0e41\u0e15\u0e48\u0e1e\u0e2d\u0e21\u0e35 project \u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e43\u0e0a\u0e49 Jdk8 \u0e41\u0e25\u0e49\u0e27\u0e44\u0e21\u0e48\u0e2d\u0e22\u0e32\u0e01\u0e25\u0e07 Jdk8 \u0e17\u0e31\u0e1a\u0e25\u0e07\u0e44\u0e1b\u0e2d\u0e35\u0e01\u0e23\u0e2d\u0e1a \u0e01\u0e25\u0e31\u0e27\u0e21\u0e35\u0e1b\u0e31\u0e0d\u0e2b\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e32\u0e19\u0e31\u0e48\u0e07\u0e41\u0e01\u0e49&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-613","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/iotnoob.com\/wordpress\/wp-json\/wp\/v2\/posts\/613","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/iotnoob.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/iotnoob.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/iotnoob.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/iotnoob.com\/wordpress\/wp-json\/wp\/v2\/comments?post=613"}],"version-history":[{"count":2,"href":"https:\/\/iotnoob.com\/wordpress\/wp-json\/wp\/v2\/posts\/613\/revisions"}],"predecessor-version":[{"id":626,"href":"https:\/\/iotnoob.com\/wordpress\/wp-json\/wp\/v2\/posts\/613\/revisions\/626"}],"wp:attachment":[{"href":"https:\/\/iotnoob.com\/wordpress\/wp-json\/wp\/v2\/media?parent=613"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/iotnoob.com\/wordpress\/wp-json\/wp\/v2\/categories?post=613"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/iotnoob.com\/wordpress\/wp-json\/wp\/v2\/tags?post=613"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}