我在项目基目录中有config文件夹。当我试图建立战争时,文件夹没有被添加到war文件中。我有外部jar使用此文件夹来读取log4j.properties。
Inisde Jar代码:(“config / log4j.properties”)
当我尝试访问tomcat服务器中的应用程序时,我找不到config / log4j.properties路径。
当前文件夹结构
项目 --src /主/ --src /测试 --src /资源 --lib --config(在config log4j.properties中) --target
在lib文件夹里面我有一些自定义jar,我在我的war文件中添加了maven插件。 log4j属性的自定义jar读取配置文件夹。这是springboot app.when我试图通过eclipse运行应用程序的工作文件。但是当我试图建立一个战争并在tomcat上手动部署战争然后它失败了。我是不知道我应该把这个配置文件夹放在哪里,以便自定义jar可以读取它。
答案 0 :(得分:0)
鉴于此项目结构:
src
| |-- main
| | |-- resources
| | | |-- config
| | | | | -- log4j.properties
默认情况下,Maven WAR插件会使用以下内容创建WAR:
WEB-INF
| |-- ...
| |
| |-- config
| | -- log4j.properties
因此,任何试图从类路径加载config / log4j.properties的东西都会找到log4j.properties文件
如果您真的无法将config
文件夹移动到src/main/resources
,那么您可以使用Maven WAR插件add an external resource,例如:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<webResources>
<resource>
<directory>config</directory>
<targetPath>WEB-INF/config</targetPath>
</resource>
</webResources>
</configuration>
</plugin>
这会导致log4j.properties
被复制到WAR中的WEB-INF/config
,即最终结果,就好像您将config
从项目的根目录移动到{{} 1}}。