|
|
1
11
虽然提出的解决方案可以工作,但它们基本上是围绕maven约定工作的。一个更好的选择是过滤掉资源,这样它们就不会包含在jar中,但是在IDE中工作时仍然可以作为资源使用。在pom中应该是这样的:
这将有效地将它们从罐子中排除,而无需任何解决方法。 Here 是jar插件的文档页。 尽管以上将回答你的问题,我可以建议一些额外的可能性,可以帮助你的努力。作为第二步,要使这些资源仍然可用,可以使用 assembly 插件。这将允许您创建一个zip文件,并将所有文件、资源和jar放在一个适当的位置,以便在解压缩zip时,所有东西都能放在适当的位置。
最后,我建议您保持target下的目录结构不变。如果您自定义它,最好通过Maven变量来完成,这样更改就会渗透到其他插件中。如果在Maven完成之后手动删除并重命名内容,那么以后可能会遇到问题。通常,Maven jar插件只要按照您想要的方式进行配置,就应该能够正确地实现它,这样您就不必担心目标下的内容了。就我个人而言,我使用Eclipse,pusign非常擅长同步IDE和Maven配置。对于NetBeans,我怀疑情况也是如此。如果不是,最好的方法是在NetBeans中配置您的项目,将target/classes用作构建工件的目标文件夹,并将target/test类用作从src/test/java构建的东西的目标/测试类。 |
|
|
2
6
就我个人而言,我不会使用资源的默认位置,而是使用一个“额外”位置,并配置资源插件将它们复制到您想要的位置:
另一个选择是使用AntRun maven插件和Ant来移动文件,但这不是真正的maven方式,所以我不会详细介绍。 资源 |
|
|
3
0
你可以想象一下 resources:copy-resources 目标。 |
|
|
4
0
应该是这样的:
您将无法摆脱“classes”目录,但您可以给它一个不应干扰NetBeans的不同名称。
你可以找到更多关于jar插件的信息 here
你可以找到更多关于
here . 这应该会提高编译时间。在运行测试用例时,也可以告诉surefire使用1.4jdk执行。 |