标签: maven-plugin

具有依赖关系的Maven 2程序集:不包括范围"系统"下的jar

我正在使用maven-assembly插件来创建我的应用程序的jar,包括其依赖项如下:

<assembly>
    <id>macosx</id>
    <formats>
       <format>tar.gz</format>
       <format>dir</format>
    </formats>
    <dependencySets>
        <dependencySet>
            <includes>
                <include>*:jar</include>
            </includes>
            <outputDirectory>lib</outputDirectory>
        </dependencySet>
    </dependencySets>
</assembly>
Run Code Online (Sandbox Code Playgroud)

(我省略了一些与问题无关的其他内容)

到目前为止,这工作得很好,因为它创建了一个lib包含所有依赖项的目录.但是,我最近添加了一个新的依赖项,其范围是system,并且它不会将其复制到lib输出目录.我必须遗漏一些基本的东西,所以我打电话求助.

我刚刚添加的依赖项是:

<dependency>
  <groupId>sourceforge.jchart2d</groupId>
  <artifactId>jchart2d</artifactId>
  <version>3.1.0</version>
  <scope>system</scope>
  <systemPath>${project.basedir}/external/jchart2d-3.1.0.jar</systemPath>
</dependency>
Run Code Online (Sandbox Code Playgroud)

我能够包含此依赖项的唯一方法是将以下内容添加到assembly元素:

<files>
    <file>
        <source>external/jchart2d-3.1.0.jar</source>
        <outputDirectory>lib</outputDirectory>
    </file>
</files>
Run Code Online (Sandbox Code Playgroud)

但是,这会强制我在重命名此jar时更改pom和程序集文件(如果有的话).而且,这似乎是错的.

我有试过<scope>runtime</scope>dependencySets<include>sourceforge.jchart2d:jchart2d</include>没有运气.

那么如何system在maven 2中将scoped jar 包含到汇编文件中?

非常感谢

maven-2 maven-plugin maven-assembly-plugin

59
推荐指数
4
解决办法
7万
查看次数

m2e生命周期映射未找到

我正在尝试使用此处描述的解决方案来解决恼人的"生命周期配置未涵盖的插件执行:org.codehaus.mojo:build-helper-maven-plugin:1.7:add-source(执行:默认,阶段:生成 -来源)"当我将以下插件放在我的pom.xml上时:

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
    <execution>
        <phase>generate-sources</phase>
        <goals><goal>add-source</goal></goals>
        <configuration>
            <sources>
                <source>src/bootstrap/java</source>
            </sources>
        </configuration>
    </execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

但是当我运行mvn clean install时,我得到了这个:

原因:在存储库中找不到POM'org.eclipse.m2e:lifecycle-mapping':无法从任何存储库下载工件

有没有人知道如何让m2e和maven开心?

maven-2 m2eclipse maven-plugin maven m2e

58
推荐指数
5
解决办法
10万
查看次数

54
推荐指数
3
解决办法
2万
查看次数

Maven和POM.xml中的插件

我刚开始使用Maven,我读到插件是可以使用的附加组件.
典型的pom.xml文件结构是

<project>
  <groupId>org.koshik.javabrains</groupId>
  <artifactId>JarName</artifactId> (A fldernamed JarName was created) 
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>JarName</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)

问题:我应该在哪里插入plugin标签?如下:

<plugin>
  <groupId>org.jibx</groupId>
  <artifactId>jibx-maven-plugin</artifactId>
  <version>1.2.4</version>
  <executions>
    <execution>
      <goals>
        <goal>bind</goal>
      </goals>
    </execution>
  </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

在依赖之前还是在dependency标记之后?有关系吗?

java maven-plugin pom.xml maven-3 maven

54
推荐指数
3
解决办法
7万
查看次数

将maven输出发送到文件

在Windows 7上,我试图将maven-3命令的输出发送到文本文件.

我从我试图分析的项目的根目录中调用命令.

命令是:

mvn dependency:tree -Dverbose -Dincludes=commons-collections -DoutputFile=C:\Users\myname\Documents\output.txt
Run Code Online (Sandbox Code Playgroud)

当我在没有outputFile参数的情况下运行命令时,我看到发送到控制台的输出.

但是当我将它与outputFile参数一起使用时,输出文件为空.

知道我在这里缺少什么吗?

dependencies windows-7 maven-plugin maven-3 maven

53
推荐指数
2
解决办法
5万
查看次数

在插件中检测到插件验证问题

执行mvn clean verify完所有内容后,编译成功,但我还得到以下信息:

[WARNING] Plugin validation issues were detected in 7 plugin(s)
[WARNING] 
[WARNING]  * org.apache.maven.plugins:maven-resources-plugin:3.2.0
[WARNING]  * org.apache.maven.plugins:maven-jar-plugin:3.2.2
[WARNING]  * org.jacoco:jacoco-maven-plugin:0.8.8
[WARNING]  * org.apache.maven.plugins:maven-compiler-plugin:3.10.1
[WARNING]  * org.codehaus.mojo:build-helper-maven-plugin:3.3.0
[WARNING]  * org.apache.maven.plugins:maven-surefire-plugin:2.22.2
[WARNING]  * com.mysema.maven:apt-maven-plugin:1.1.3
[WARNING] 
[WARNING] For more or less details, use 'maven.plugin.validation' property with one of the values (case insensitive): [BRIEF, DEFAULT, VERBOSE]
Run Code Online (Sandbox Code Playgroud)

首先,我不理解警告本身,它对我的​​代码的影响等。那么如何解决这个问题?最后,如何使用maven.plugin.validation财产?我找不到任何关于此的文档。

maven-plugin maven

50
推荐指数
2
解决办法
4万
查看次数

Servlet 3.0需要webxml属性

尝试编译Vaadin WAR时出现此错误:

Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.1.1:war (default-war) on project testvaadin-web: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode) -> [Help 1]
Run Code Online (Sandbox Code Playgroud)

我知道这个错误意味着maven无法找到我的web.xml,但在"Book of Vaadin"中它表示在UI类中使用Servlet API 3.0和Annotation时不需要web.xml@WebServlet.

我正在一个单独的配置文件中编译我的widgetset(根据指南),当我输入此配置文件时,它编译得很好.但是,当我只编译web项目时,我得到上面提到的错误.

是什么赋予了?

我是否以某种方式覆盖了maven的行为?Vaadin甚至没有创建WEB-INF目录.我想我可以创建WEB-INF文件夹并在那里保留一个"ghost"web.xml以保持maven的快乐,但这似乎不对.

我错过了什么吗?

有谁知道这个很好的解决方案?

vaadin maven-plugin maven vaadin7

49
推荐指数
1
解决办法
5万
查看次数

为什么Maven命令"mvn sonar:sonar"在我的"pom.xml"中没有任何插件配置的情况下工作?

我的仓库中有一个Maven Web项目.

我是一个Maven noob,但我仍然理解有这样一个事实,即我们需要配置插件才能运行特定于插件的命令.

事实:

我在本地机器上的端口9000上运行了一个声纳服务器.

我没有在我的POM.xml中添加任何声纳特定插件

参考:

http://www.sonarsource.org/we-had-a-dream-mvn-sonarsonar/

观察:

但是当我从命令行运行mvn sonar:sonar我的项目时,它工作正常.

事实很重要的是我没有在我的POM.xml中配置声纳插件即使那时Maven正在拾取并理解"声纳:声纳"目标/命令?

问题/好奇心:

我不想要声纳本身的工作知识.我想知道为什么mvn sonar:sonar在没有在我的pom.xml中配置声纳插件的情况下工作

为什么以及如何?

java maven-plugin maven sonarqube

46
推荐指数
2
解决办法
5万
查看次数

您知道的所有Maven Archetype目录的URL是什么?

Maven Archetypes是"模板",通过它您可以快速生成给定框架或项目类型的运行示例.我正在尝试编译当前在网上活动的所有Maven原型目录的列表.

从有关目录文件的Maven文档:

关于原型的知识存储在目录中.

目录是xml文件.

Archetype插件捆绑了内部目录.默认情况下使用此选项.

Archetype插件可以使用本地文件系统和HTTP连接中的目录.

到目前为止,我已经收集了这个发布目录的存储库列表,但是很想知道是否有人知道更多:

mvn archetype:generate
-DarchetypeCatalog=local
-DarchetypeCatalog=remote
-DarchetypeCatalog=http://repo.fusesource.com/maven2
-DarchetypeCatalog=http://cocoon.apache.org
-DarchetypeCatalog=http://download.java.net/maven/2
-DarchetypeCatalog=http://myfaces.apache.org
-DarchetypeCatalog=http://tapestry.formos.com/maven-repository
-DarchetypeCatalog=http://scala-tools.org
-DarchetypeCatalog=http://www.terracotta.org/download/reflector/maven2/
Run Code Online (Sandbox Code Playgroud)

链接到相同的:1)FuseSource 2) Cocoon 3)Java.net 4)MyFaces 5)Tapestry 6)Scala目录 7)Terracotta目录

您会注意到,如果存储库实际发布了原型目录(以上所有内容),您将获得所有选项的UI提示archetype-catalog.xml.例如:

mvn archetype:generate -DarchetypeCatalog=http://scala-tools.org

[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
1: http://scala-tools.org -> scala-archetype-simple (A simple scala project)
2: http://scala-tools.org -> lift-archetype-blank (A blank/empty liftweb project)
3: http://scala-tools.org -> lift-archetype-basic (A basic liftweb project (with DB, css, ...))
Choose a …
Run Code Online (Sandbox Code Playgroud)

java maven-2 maven-plugin maven-archetype

44
推荐指数
1
解决办法
5万
查看次数

什么是避免maven-jar的最佳方法?

我使用不同的插件(ant4eclipse)来装箱我的文件.避免maven-jar插件执行的最佳方法是什么?

  • 我试图删除 <plugin>maven-jar-plugin</plugin>
  • 我试过了 <exclude> ** / * < / exclude>
  • 我试过了 <skip>true</skip>

没有用

java ant maven-2 jar maven-plugin

44
推荐指数
5
解决办法
3万
查看次数