当前位置: 首页 > 知识库问答 >
问题:

如何从maven非标准结构项目构建war?

东方嘉佑
2023-03-14

我在公司做一个目录结构的项目。现在我必须将project转换为Maven project。它是基于公司框架的web应用程序。项目导出到war文件,

以下是项目结构:

web-app-name
    - WebContent
        - css
        - html
        - images
        - modules
        - WEB-INF
           - classes
           - config
           - data
           - lib
           - src
              - src_core
              - src_util
              - ... other src_
              - propertis.file

我不能使用标准的Maven结构。到目前为止,我构建了pom。xml文件并使项目正常工作。依赖项是从私有服务器下载的,可以正常工作。

问题是文件结构。我试图覆盖默认的maven路径,但没有成功。当我导出war文件时,没有css、html、图像文件。。。只有WEB-INF目录:

WEB-INF
  - classes
  - lib
META-INF

有没有办法获取war文件中除某些例外情况下位于WebContent下的所有目录,或者我会忘记将project转换为Maven?

没有依赖项的Pom文件:

...
<properties>
  <dborr.base.dir>${basedir}</dborr.base.dir>
</properties>
<build>
  <sourceDirectory>${dborr.base.dir}\coll_dborr\WebContent</sourceDirectory>
      <plugins>
  <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
      <source>1.7</source>
      <target>1.7</target>
      <compilerVersion>1.7</compilerVersion>
    </configuration>
  </plugin>
  <plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-war-plugin</artifactId>
      <version>2.6</version>
      <configuration>
         <warSourceDirectory>${dborr.base.dir}/coll_dborr/WebContent</warSourceDirectory>
       <webResources>
          <resource>
            <directory>${dborr.base.dir}/coll_dborr/WebContent/css</directory>
          </resource>
       </webResources>
      </configuration>
   </plugin>
</plugins>
</build>

另一个问题是,有一种方法可以将所有源文件包含到。来自pom的类路径。xml文件?

共有1个答案

岳浩穰
2023-03-14

您的解决方案应该可以工作,请参阅Apache Maven WAR插件:

warSourceDirectory:

用于在战争中包含额外文件的单个目录。这是放置JSP文件的地方。

-类型:java.io.文件

-要求:是

-默认值:${basedir}/src/main/webapp

但是您的路径${dborr.base.dir}\coll\u dborr\WebContent不正确,它应该是${basedir}\web app name\WebContent。

您的源目录似乎也不正确,因为它必须是指向您的源的路径,而不是指向您的webapp资源的路径。

也许您还必须删除Web资源,因为它已经包含在warSourceDirectory中?

 类似资料:
  • 实际上,我是使用Maven和spring的新手,我很好奇我们是如何标准化项目结构的。正如我们所知,如果我们第一次创建Maven项目,它只给出了这样的结构: 我明白,Java目录是我们放Java代码的目录。但是,当我们制作一个应该有HTML、CSS或Javascript等web文件的web应用程序时,我们需要另一个目录来放置它。 当我在Maven中使用spring或spring boot时,它也在主

  • 学习前提 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里也强调下,尽量使用此类工具进行项目构建。 学习本讲还有一个前提:你必须会 Maven 相关知识点,Maven 相关知识点是不在本专题的讲解范围里面的,所以请自己私下进行学习。如果愿意你也可以看我过去整理的一份视频(提取码:wh5g):http://pan.baidu.com/s/1eSovBkI Maven 常用

  • 问题内容: 我对Maven和Testng完全陌生。我正在使用maven作为构建工具,并使用testng作为我的测试框架。我没有遵循标准的Maven项目结构。现在,我要在项目中执行测试用例。问题是,如何知道要考虑执行哪些测试用例? 问题答案: 如果将其放在一个位置,则需要设置maven-surefire-plugin配置的参数: 所有这些在Maven Surefire插件文档中都有详细记录

  • 我尝试使用mojo插件在Maven中配置sencha cmd。Maven配置如下所示: 我设置了环境变量(在我的示例中,我使用的是Windows操作系统)。当我尝试执行命令时,会出现错误: 未能在project Vehicle-Store上执行goal org.codehaus.mojo:exec-maven-plugin:1.3.2:exec(sencha-compile):命令执行失败。无法运

  • 我对maven相当陌生。在Eclipse中,我在其中创建了一个maven项目,我可以看到src/main/java和src/test/java,还有一个src文件夹,其中也包含主文件夹和测试文件夹。在这里我很困惑我需要在哪个src文件夹中写代码。使用主文件夹和测试文件夹的主要好处是什么?为什么有两个主文件夹和两个src文件夹

  • 我对maven和testng完全陌生。我使用maven作为构建工具,并将testng作为我的测试框架。我没有遵循标准的maven项目结构。现在我希望我的在我的项目中执行测试用例。问题是,如何知道要考虑执行哪些测试用例?