在NetBeans 8.1中,我创建了一个“具有现有源的Web应用程序”的新项目。我在META-INF中删除了context.xml,因为我不想在那里(我有我的理由)。但每当我重新启动NetBeans或关闭并重新打开项目时,NetBeans都会再次生成context.xml文件。有什么办法可以避免吗?我试图搜索但没有任何成功。谢谢你的帮助!
答案 0 :(得分:1)
我还没有找到阻止它重新生成的方法,但是我至少想出了一种解决方法(使用maven)来阻止它使用生成的文件(这就是真的引起头痛)。我只是用测试context.xml文件覆盖了生成的context.xml(是的,对于这种解决方法,您需要在某处放置 some 种context.xml文件)。我还需要从生产War文件中排除测试context.xml文件。
我的测试context.xml文件已签入src / test / webapp / META-INF / context.xml。我希望将其复制到目标目录(覆盖生成的文件),但不包含在war文件中。因此,在我的pom.xml中,我像这样配置了maven-war-plugin:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.3</version>
<configuration>
<webResources>
<resource>
<!-- location of context.xml used for integration tests -->
<directory>src/test/webapp/META-INF</directory>
<!-- setting stuff in the test file, you might not need this -->
<filtering>true</filtering>
<!-- overwrites the context.xml file generated by Netbeans -->
<targetPath>META-INF</targetPath>
</resource>
</webResources>
<!-- don't include test context.xml with the war file -->
<packagingExcludes>META-INF/context.xml</packagingExcludes>
</configuration>
</plugin>
我知道这不能回答有关如何停止重新生成文件的问题,但是如果您的情况像我的那样,那么它仍然可能会有所帮助。
答案 1 :(得分:0)
我发现是否编辑了该项目的“项目属性”,并从“运行”选项卡下选定的“服务器”字段中删除了“ Tomcat”,netbeans停止创建context.xml。
我可能还从nb-configuration.xml中手动删除了此行:
<org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_deploy_2e_server>Tomcat</org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_deploy_2e_server>
我不确定是否有必要,我想不是,但是请在下面进行实验和评论,或者在发现问题后对此答案进行编辑。