我有这个项目结构:
|--Node
|-----pom.xml
|-----resources
|-----src
编译时我得到:
|--Node
|-----resources
|-----src
|-----pom.xml
|-----**target**
|--------**resources**
|--------**Node.jar**
我想从IntelliJ 运行Node.jar ,并且它将从目标中的资源文件夹中获取资源。
我尝试定义:
JAR_PATH = Constants.class.getProtectionDomain().getCodeSource().getLocation().getPath();
还
JAR_PATH = System.getProperty("user.dir").replace('\\','/') + "/Node.jar";
问题是,使用第一种方法,我得到了Constants类的目录(它是单独编译的,是另一个不同的模块)。
在第二个选项中,我获取了Node目录,而不是Node.target目录,这是我想要的目录。
实现我想要的选择有哪些? 有没有办法让maven从目标目录运行,而不是pom.xml所在的目录?