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

使用maven Jetty插件生成一个带有嵌入式Jetty的jar?

后化
2023-03-14

有没有一种方法可以使用maven jetty插件生成一个带有嵌入式jetty的fat jar?

共有1个答案

杨曜瑞
2023-03-14

MarianP已经在评论中回答了你的问题。

在pom.xml中添加jetty依赖项

<!-- jetty dependencies -->
<dependency>
  <groupId>org.eclipse.jetty</groupId>
  <artifactId>jetty-server</artifactId>
  <version>9.2.5.v20141112</version>
</dependency>
<dependency>
  <groupId>org.eclipse.jetty</groupId>
  <artifactId>jetty-servlet</artifactId>
  <version>9.2.5.v20141112</version>
</dependency>
<dependency>
  <groupId>org.eclipse.jetty.websocket</groupId>
  <artifactId>websocket-server</artifactId>
  <version>9.2.5.v20141112</version>
</dependency>

添加shade插件,如下所示:

  <!-- maven shade plugin, executable uber Jar -->
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>2.2</version>
    <executions>
      <execution>
        <phase>package</phase>
        <goals>
          <goal>shade</goal>
        </goals>
        <configuration>
          <transformers>
            <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
              <mainClass>YourMainClassHere</mainClass>
            </transformer>
            <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
              <resource>META-INF/spring.handlers</resource>
            </transformer>
            <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
              <resource>META-INF/spring.schemas</resource>
            </transformer>
          </transformers>
        </configuration>
      </execution>
    </executions>
  </plugin>
 类似资料:
  • 问题内容: 我正在尝试使用嵌入式Jetty构建一个简单的演示应用程序,该应用程序可以从“ html”目录提供静态文件,该目录是当前工作目录的子目录。这个想法是,带有演示jar和内容的目录可以移动到新位置,并且仍然可以使用。 我已经尝试了以下方法的变体,但是我不断得到404。 更新: 这是Jetty教程中记录的解决方案。如正确答案中所述,它使用而不是: 问题答案: 使用代替。

  • 我正在使用maven Struts2空白工件来创建我的web应用程序。以下是我的pom.xml:- 上面的pom.xml使用jetty服务器创建war文件。因此,当我运行mvn jetty:war-run时,它会创建名为myArtifact-3.war(artifactId-version)的war文件,但我希望我的war文件名为myweb.war。我在pom.xml的配置中使用了war标记来指定

  • 我正在尝试配置我的应用程序上下文,以便能够在我的应用程序中使用带有嵌入式图形的Neo4j服务器,但没有多大成功。我同时使用Spring数据(Mongo和Neo4j存储库方法)。这是我的应用程序上下文,未运行: 如果我不使用这种方法,只指定存储目录(注释行),那么一切都可以正常运行。我怀疑这是SDN和neo4j服务器之间的版本问题。这是我的POM: 它的父项作为依赖项Spring(核心、上下文、测试

  • 我使用的是maven javadoc插件3.2.0的默认配置,我想生成类似testapidocs的东西,但不幸的是,它只生成NOFRAMES doc。我试着玩了一点,但没有成功。还有其他人有同样的行为吗?当做

  • 我定义了一个标准的Maven webapp结构,它使用Spring MVC。 我正在使用嵌入式 Jetty 服务器(java 类)来测试开发中的应用程序。 用于创建 Jetty 服务器的代码概述如下。如果我对任何 JSP 文件进行更改,则这些更改将立即在浏览器中可见。 然而,如果我更改了任何类文件,例如控制器,这些更改不会被热部署。 我该怎么做才能让它工作? 我已经搜索了这个,我认为我需要使用类组

  • 目前我正在使用启用TLS 1.2的代码: 现在我正在使用TLS 1.1,并希望将其更改为TLS 1.2。