最近折腾脱离IDE的开发,为了编译执行省事儿,还是选择了maven,这样开发过程中包依赖的问题倒是容易解决了,但是程序脱离maven执行还是个麻烦事儿,得拼一长串的classpath,参考pipilu的使用maven打出独立应用程序的jar包 解决了这个问题:在使用maven打包时,把程序依赖的jar包都拷出来到一个lib目录,然后用脚本自动生成classpath来执行,不过为了方便自己改写了一下脚本文件,现在只要脚本在path路径中,就可以在项目根目录(pom.xml)所在目录直接执行代码了runmvn org.foo.App
:: runmvn.bat 独立运行maven打包的文件 :: arg1:要执行的类全名 @echo off setlocal cd target set CP= :: 把lib下的jar包加入路径 for %%i in (lib/*.jar) do call :cpappend lib/%%i :: 把本项目打包的jar包加入路径 for %%i in (*.jar) do call :cpappend %%i echo java -cp %CP% %1 java -cp %CP% %1 endlocal goto :EOF :cpappend set CP=%CP%;%1 goto :EOF