Dav*_*ave 4 java netbeans maven
我有一个java项目,它使用.properties文件进行配置.在服务器上,启动时,我将类路径设置为包含一个包含所有属性文件的文件夹.在我的本地计算机上,我想指向另一个文件夹.
我希望添加到类路径,理想情况下,所有项目,但添加到每个项目也没关系.我已经尝试更改Run > VM Options为包含类路径,但是通过该更改它找不到主类,我得到了java.lang.NoClassDefFoundError.我也尝试直接更改nbactions.xml以将类路径设置为-classpath ~\MyFolder\;%classpath,但这有同样的问题.
为了增加难度,服务器在我的本地机器运行Windows时运行linux.
gav*_*koa 10
我长期坚持主题启动问题.我的目标 - 在项目根目录中将配置文件用于调试目的并将classpath扩展到${basedir},所以这段代码:
String appConfigLocation = System.getProperty("config.location");
if (appConfigLocation == null) {
logger.error("System property 'config.location' is not set...");
System.exit(1);
}
InputStream appConfigStream = Main.class.getClassLoader().getResourceAsStream(appConfigLocation);
if (appConfigStream == null) {
logger.error("Can't find resource {} in classpath, fix 'config.location'...", appConfigLocation);
System.exit(1);
}
Properties appProps = new Properties();
try {
appProps.load(appConfigStream);
} catch (IOException ex) {
System.out.println("IO error during loading of {}...", appConfigLocation);
System.exit(1);
}
Run Code Online (Sandbox Code Playgroud)
从中读取配置${basedir}.我喜欢它,而不是把它们src/main/resources.
检查ExecMojo.javav1.2.1的来源http://grepcode.com/file/repo1.maven.org/maven2/org.codehaus.mojo/exec-maven-plugin/1.2.1/org/codehaus/mojo/exec/ExecMojo .java?av = f:
if ( CLASSPATH_TOKEN.equals( args[i] ) ) {
commandArguments.add( computeClasspathString( null ) );
}
Run Code Online (Sandbox Code Playgroud)
if ( args[i].contains( CLASSPATH_TOKEN ) ) {
commandArguments.add( args[i].replace( CLASSPATH_TOKEN,
computeClasspathString( null ) ) );
}
Run Code Online (Sandbox Code Playgroud)
所以更新NB配置执行目标到新版本:
process-classes org.codehaus.mojo:exec-maven-plugin:1.3.2:exec
Run Code Online (Sandbox Code Playgroud)
-classpath在exec.argsparams中使用复杂的args :
exec.args=-classpath %classpath:.:"${basedir}" \
-Dconfig.location=app.properties \
-Dlogback.configurationFile=logback.xml \
${packageClassName}
Run Code Online (Sandbox Code Playgroud)
修复执行此类行为所需的任何操作:

也可以看看:
嗨,我有一个类似的需要,为 NetBeans7.4 提供一个类路径到一个带有 Maven 依赖项的驱动程序的 jar,例如c:\Program Files\Java\jdk1.7.0_25\db\lib\derby.jar在名为 MyProject 的 Java Maven 项目中。
正如您所考虑的那样Run > VM Options,我建议如下:
1) 右键单击 MyProject 以打开项目属性
2) 在“项目属性”弹出窗口中,选择“操作”
3) 在“操作”中找到“运行 pproject” ' 并选择它
4) 在“设置属性”文本框中exec.args=-cp %classpath;.;"c:\Program Files\Java\jdk1.7.0_25\db\lib\derby.jar" biz.letsweb.derbyconnect.App
exec.executable=java
exec.workingdir=c:\Users\Tomasz\Documents\NetBeansProjects\DerbyConnect\target\classes
编辑输入
或者以类比方式编辑 nbactions.xml。完成此操作后,我只需按绿色箭头即可在 NetBeans 中运行该项目。
| 归档时间: |
|
| 查看次数: |
8740 次 |
| 最近记录: |