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

使用maven jetty插件更改生成的war名称

斜宁
2023-03-14

我正在使用maven Struts2空白工件来创建我的web应用程序。以下是我的pom.xml:-

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.website.my</groupId>
<artifactId>MyArtifact</artifactId>
<version>3</version>
<packaging>war</packaging>
<name>My Artifact</name>

<properties>
    <struts2.version>2.3.12</struts2.version>
</properties>

<dependencies>

    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-core</artifactId>
        <version>${struts2.version}</version>
    </dependency>

    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-config-browser-plugin</artifactId>
        <version>${struts2.version}</version>
    </dependency>

    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-junit-plugin</artifactId>
        <version>${struts2.version}</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.1</version>
    </dependency>

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.5</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.4</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.0</version>
        <scope>provided</scope>
    </dependency>

</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jetty-maven-plugin</artifactId>
            <version>8.1.7.v20120910</version>
            <configuration>
                 <war>C:\Users\pranay\Documents\GitHub\MyArtifact\target\myWeb.war</war>                    
                <stopKey>CTRL+C</stopKey>
                <stopPort>8999</stopPort>
                <systemProperties>
                    <systemProperty>
                        <name>log4j.configuration</name>
                        <value>/Users/lukaszlenart/Projects/Apache/STRUTS_2_3_12/target/checkout/archetypes/struts2-archetype-blank/src/main/resources/log4j.properties</value>
                    </systemProperty>
                    <systemProperty>
                        <name>slf4j</name>
                        <value>false</value>
                    </systemProperty>
                </systemProperties>
                <scanIntervalSeconds>10</scanIntervalSeconds>
                <webAppSourceDirectory>/Users/lukaszlenart/Projects/Apache/STRUTS_2_3_12/target/checkout/archetypes/struts2-archetype-blank/src/main/webapp/</webAppSourceDirectory>
               <webApp>
                    <contextPath>/MyArtifact</contextPath>
                    <descriptor>C:\Users\Pranay\Documents\GitHub\MyArtifact\src\main\webapp\WEB-INF</descriptor>
                </webApp>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                    <version>1.2.17</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

上面的pom.xml使用jetty服务器创建war文件。因此,当我运行mvn jetty:war-run时,它会创建名为myArtifact-3.war(artifactId-version)的war文件,但我希望我的war文件名为myweb.war。我在pom.xml的配置中使用了war标记来指定我想要的war名称(根据这个链接http://www.eclipse.org/jetty/documentation/current/jetty-maven-plugin.html#running-assembed-webapp-as-war)。但是,它不起作用。请告诉我如何更改生成的war文件名。

共有1个答案

庾远航
2023-03-14

很简单,只需重写 值即可。

<project>
  <build>
    <finalName>${project.artifactId}</finalName>
  </build>
</project>
 类似资料:
  • 我只是按照这个问题修改了pom以创建不同的war文件。这是原始配置 下面是修改后的(要创建cambelton.war) 当尝试构建时,它会出现错误,但会创建war文件。我认为在尝试创建zip文件时会出现问题。这是错误消息 编辑1 这是webapp。xml 编辑2:也添加了$符号,但仍然给出与相同的错误

  • 问题内容: 我正在使用从数组生成json ,它工作正常,但照常使用数组中的key:value。但是我只想在json输出中更改键的名称..可以这样做吗?还是我应该准备json键:手动给自己赋值? 例: O / P 我想要 。 编辑:我不能编辑原始数组。。(使用framweork生成) 问题答案: 只有重写自己。您可以使用: 不确定这是否是您的目标。

  • 使用war插件需要在构建脚本下包括以下内容 例25.1.使用war插件 build.gradle apply plugin 'war' a655fa4be4421004591827ae70fee579703794dd

  • 每次我用Android Studio(1.02)运行一个项目时,它都会生成一个未签名的apk,该apk位于..\build\outputs\apk文件夹中,默认情况下获得名称“app-debug.apk”

  • 我已经成功地从一个。yaml打开api描述符文件,但正如问题标题中所述,我希望将这些接口的响应类型从ResponseEntity更改为我自己的类型。基本上,接口没有此签名: 对于基本上以这种方式实现的方法: 我希望生成的接口尽可能简单 同样的事情,我自己定义的类,而不是

  • War任务默认会把src/main/webapp的内容复制到归档目录的根目录.webapp文件夹下会包含一个WEB-INF子文件夹,里面可能会有一个web.xml文件.编译后的class文件会在WEB-INF/classes下,所有runtime[13]的依赖配置会被拷贝至WEB-INF/lib下. API文档中有更多关于War的信息. [13]runtime配置扩展了compile配置.