這是我的一個簡化的DOSJavaIDE環境簡單的測試應用程序如果Eclipse太麻煩了。我可以將應用程序編譯並運行到特定的JVM版本。研究此腳本以查看每個命令中的文件夾結構和路徑。
文件夾和文件
c:\projects\test1\classes\
c:\projects\test1\lib\
c:\projects\test1\lib\somelib1.jar
c:\projects\test1\lib\somelib2.jar
c:\projects\test1\src\
c:\projects\test1\src\test\GameLoop2.java
c:\projects\test1\src\META-INF\MANIFEST.MF
c:\projects\test1\javaenv.bat
javaenv.bat
@REM Standalone JavaDosEnvironment
@set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_112
@"%JAVA_HOME%\bin\java" -version
@set cmd=%1
@if "%cmd%"=="" (
@echo Please specify command to run ^(1..n or empty to exit^)
@echo 1=Compile, 2=Jar, 12=CompileJar
@echo 3=Run-test1 GameLoop2 with vsync
@SET /p cmd="1..n: "
)
@IF /I "%cmd%"=="1" set cmd=compile
@IF /I "%cmd%"=="compile" call :COMPILE
@IF /I "%cmd%"=="2" set cmd=jar
@IF /I "%cmd%"=="jar" call :JAR
@IF /I "%cmd%"=="12" set cmd=compilejar
@IF /I "%cmd%"=="compilejar" (
call :COMPILE
call :JAR
)
@IF /I "%cmd%"=="3" set cmd=run-test1
@IF /I "%cmd%"=="run-test1" call :RUN-test1
@goto :END
:COMPILE
xcopy /Y .\src\META-INF\*.* .\classes\META-INF\
set cp=./lib/somelib1.jar;./lib/somelib2.jar
"%JAVA_HOME%\bin\javac" -classpath "%cp%" -sourcepath ./src -d ./classes ./src/test/*.java
@goto :eof
:JAR
xcopy /Y .\src\META-INF\*.* .\classes\META-INF\
SET MF=./classes/META-INF/MANIFEST.MF
"%JAVA_HOME%\bin\jar" cvfm ./lib/test.jar %MF% -C ./classes .
@goto :eof
:RUN-test1
"%JAVA_HOME%\bin\java" -cp "./lib/*" test.GameLoop2 "fullscreen=false" fps=60 vsync=true
@goto :eof
:END
@pause
MANIFEST.MF
Implementation-Title: testapp
Implementation-Version: 1.0.0 (2017-07-21)
Implementation-Vendor: myname
Implementation-URL: http://my.homepage.com/
運行此命令行中的腳本(如javaenv.bat compile
,javaenv.bat jar
,javaenv.bat run-test1
),或者在沒有參數的情況下運行以提示選擇列表。
看到一個自定義的清單,你可以寫任何你想要的,幷包含在./lib/test.jar
文件中。編譯目標在類路徑中有很少的第三方依賴庫。
我猜你'從錯誤的fo中運行命令lder連續。 – Carcigenicate
最可靠的解釋是沒有FirstProgram.java文件。 'dir'的輸出是什麼? –
向我們展示目錄樹 –