当我创建一个带有依赖项的可执行jar时(使用本指南),所有属性文件也都打包到该jar中.如何阻止它发生?谢谢.
更新:我尝试使用Maven资源插件排除它们,但是当我在Eclipse中运行它时,我的应用程序将找不到属性文件(右键单击模块 - >运行方式 - > Java应用程序)
更新:感谢您的有用答案.我想我最好花时间学习Maven,现在我只选择最简单的解决方案.
小智 106
要从jar/target目录中排除任何文件,可以使用<excludes>pom.xml文件中的标记.
在下一个示例中,.properties将不包含具有扩展名的所有文件:
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>*.properties</exclude>
</excludes>
<filtering>false</filtering>
</resource>
</resources>
</build>
Run Code Online (Sandbox Code Playgroud)
Rom*_*las 17
按照惯例,该目录src/main/resources包含应用程序将使用的资源.所以Maven将他们列入决赛JAR.
因此,在您的应用程序中,您将使用该getResourceAsStream()方法访问它们,因为资源已加载到类路径中.
如果您需要将它们放在应用程序之外,请不要存储它们,src/main/resources因为它们将由Maven捆绑.当然,您可以排除它们(使用chkal给出的链接),但最好创建另一个目录(例如src/main/external-resources)以保持有关src/main/resources目录的约定.
在后一种情况下,您必须独立地作为JAR文件提供资源(这可以通过使用Assembly插件来实现).如果需要在Eclipse环境中访问它们,请转到Properties项目,然后Java Build Path在Sources选项卡中添加文件夹(例如src/main/external-resources).然后,Eclipse将在类路径中添加此目录.
小智 11
将这些属性文件放入src/test/resources.src/test/resourcesEclipse中的文件可以自动通过,eclipse:eclipse但不会被Maven包含在打包的JAR中.
你的意思是位于的财产档案src/main/resources?然后你应该使用maven-resource-plugin排除它们.请参阅以下页面了解详细信息:
http://maven.apache.org/plugins/maven-resources-plugin/examples/include-exclude.html
这完全要求使用Maven JAR插件
例如,如果src/test/resources/要从最终jar中排除所有内容,请将其放入:
<build>
<plugins>
<!-- configure JAR build -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<excludes>
<exclude>src/test/resources/**</exclude>
</excludes>
</configuration>
</plugin>
...
Run Code Online (Sandbox Code Playgroud)
下面的文件src/test/resources/仍然可以在类路径上使用,它们不会在结果JAR中.
使用maven-jar-plugin创建maven jar时,排除文件的特定模式。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3</version>
<configuration>
<excludes>
<exclude>**/*.properties</exclude>
<exclude>**/*.xml</exclude>
<exclude>**/*.exe</exclude>
<exclude>**/*.java</exclude>
<exclude>**/*.xls</exclude>
</excludes>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
101465 次 |
| 最近记录: |