我有一个访问XML配置文件的Maven Java应用程序。此配置文件应放在应用程序jar的同一文件夹中,以便任何配置都可以轻松地跟随"申请。
我使用以下代码来获取jar的绝对路径
String path = Runner.class.getProtectionDomain().getCodeSource().getLocation().getPath();
String decodedPath = URLDecoder.decode(path, "UTF-8");
以调试模式运行它会返回以下路径
/C:/Users/user/git/project/project/target/classes/
因此jar从target/classes
文件夹运行(在调试模式下),因此XML配置文件应放在该文件夹中。
问题在于,每当我重建项目时,target
文件夹都会被覆盖并删除配置文件。
有没有办法解决这个只影响开发阶段的问题? 我正在考虑告诉Maven不要以某种方式删除配置文件,但我不知道如何。
提前谢谢
致以最诚挚的问候,
Giulio的
答案 0 :(得分:0)
这可以使用maven开箱即用。只需将XML文件放在src / main / resources /中,在构建期间它将被复制到target / classes
中mvn archetype:create -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=sub.optimal.example -DartifactId=superapp
cd superapp/
mkdir src/main/resources
touch src/main/resources/example.xml
mvn package
ls target/classes/*.xml
欢呼声