如何在打开Web应用程序项目时阻止NetBeans生成context.xml?

时间:2017-12-19 22:36:58

标签: java netbeans netbeans-8

在NetBeans 8.1中,我创建了一个“具有现有源的Web应用程序”的新项目。我在META-INF中删除了context.xml,因为我不想在那里(我有我的理由)。但每当我重新启动NetBeans或关闭并重新打开项目时,NetBeans都会再次生成context.xml文件。有什么办法可以避免吗?我试图搜索但没有任何成功。谢谢你的帮助!

2 个答案:

答案 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>

我不确定是否有必要,我想不是,但是请在下面进行实验和评论,或者在发现问题后对此答案进行编辑。