这是我的一个简化的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'的输出是什么? –
向我们展示目录树 –