自从我更新到Maven 3后,我在每次构建时收到以下警告消息:
我怎样才能摆脱这些警告?
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for proj:id:jar:3.1
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-javadoc-plugin is missing. @ line 195, column 15
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing. @ line 204, column 15
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-surefire-plugin is missing. @ line 227, column 15
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-jar-plugin is missing. @ line 215, column 15
[WARNING] 'reporting.plugins.plugin.version' for org.codehaus.mojo:jdepend-maven-plugin is missing. @ line 271, column 15
[WARNING]
[WARNING] It is highly …
Run Code Online (Sandbox Code Playgroud) 我现在正在阅读关于Maven的文章,我在文本中看到了这个词(mojo).我大致明白这意味着什么,但我不会拒绝一个好的解释.我试图谷歌,但发现只有非maven解释.
POJO - 好的,但是MOJO?Maven旧Java对象?
我正在尝试编译我的Android项目,我收到此错误
[INFO] Exception in thread "main" java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0
[INFO] at java.lang.ClassLoader.defineClass1(Native Method)
[INFO] at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
[INFO] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
[INFO] at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
[INFO] at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
[INFO] at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
[INFO] at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
[INFO] at java.security.AccessController.doPrivileged(Native Method)
[INFO] at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
[INFO] at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
[INFO] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
[INFO] at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
[INFO] at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我一直在阅读其他帖子,尝试使用Java 8编译可能会导致该错误,但不是我的情况,我有以下Java版本:
java version "1.7.0_79"
OpenJDK Runtime Environment (IcedTea 2.5.5) (7u79-2.5.5-0ubuntu0.14.04.2)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode) …
Run Code Online (Sandbox Code Playgroud) 我已经确定存在两个用于Maven 2的JAXB插件,具有一些不同的配置.
一个来自Sun:http://jaxb.dev.java.net/jaxb-maven2-plugin/,另一个来自Mojohaus:http://mojohaus.org/jaxb2-maven-plugin/
可以推荐这两个插件中的哪一个?
谢谢马特.在我的小型研究项目中,我发现还有另一个来自sunners的插件:
<groupId>com.sun.tools.xjc.maven2</groupId>
<artifactId>maven-jaxb-plugin</artifactId>
Run Code Online (Sandbox Code Playgroud)
那一个:
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
Run Code Online (Sandbox Code Playgroud)
仍然是Codehouse的那个.
我想让Maven目标触发java类的执行.我正试图通过以下方式迁移Makefile
:
neotest:
mvn exec:java -Dexec.mainClass="org.dhappy.test.NeoTraverse"
Run Code Online (Sandbox Code Playgroud)
我想mvn neotest
生产make neotest
目前的产品.
无论是Exec插件的文件,也不是Maven的Ant任务的网页有任何形式的简单例子.
目前,我在:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1</version>
<executions><execution>
<goals><goal>java</goal></goals>
</execution></executions>
<configuration>
<mainClass>org.dhappy.test.NeoTraverse</mainClass>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
不过,我不知道如何从命令行触发插件.
我在一个新的Workspace中创建了一个新的简单Maven项目.
当我打开pom.xml
的Dependencies
在Eclipse编辑器视图,我选择Add..
的依赖,也没有搜索结果无论是什么的搜索条件搜索字段I输入:
例如,它会立即给我Results for 'spring' (0)
.
在我的其他工作区中,使用我现有的项目,我没有这个问题.
有办法解决这个问题吗?
我以为我是一位经验丰富的Maven用户,但我对如何做到这一点有心理障碍!
我已经能够使用Maven插件SQL通过我已经定义并绑定插件处决下降,创建和安装一个架构在一个数据库pre-integration-test
阶段.
不过,现在我想使用相同的SQL插件插入一些示例数据,每当我在命令行想要的 - 也就是说,没有绑定到任何生命周期的目标.有几组不同的样本数据,所以我想定义一些不同的执行.
但有没有办法通过使用执行ID从命令行运行其中一个执行?
我将Maven构建在业余,写得不好和坦率的群集之上 - 原始的C/C++代码(意思是一些C,一些C++).问题是 - 目前流通很多,不容易更换.构建它需要大量的部落知识(你必须从立方体到立方体才能找到如何编译/构建各种部分)并且释放是完全的噩梦.(不 - 我不打算重写它,请不要问)我的问题是 - 我应该用它maven-native-plugin
来代替大量的短文件或exec-maven-plugin
用来简单地执行这些吗?到目前为止,我有很好的经验,后者做.NET,不知道我是应该投资native
插件还是留下来exec
?如果你有"Mavenizing"C/C++的经验,我很乐意得到一些建议.
我使用maven来构建一个多模块项目.我的模块2依赖于编译范围的模块1 src和测试范围中的模块1测试.
第2单元 -
<dependency>
<groupId>blah</groupId>
<artifactId>MODULE1</artifactId>
<version>blah</version>
<classifier>tests</classifier>
<scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
这很好用.假设我的模块3依赖于Module1 src并在编译时进行测试.
第3单元 -
<dependency>
<groupId>blah</groupId>
<artifactId>MODULE1</artifactId>
<version>blah</version>
<classifier>tests</classifier>
<scope>compile</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
当我运行时mvn clean install
,我的构建运行到模块3,在模块3处失败,因为它无法解析模块1测试依赖性.然后我mvn install
单独对模块3进行操作,返回并mvn install
在我的父pom上运行以使其构建.我怎样才能解决这个问题?
我正在按照创建maven插件的教程,无法运行mvn install而不会出现错误.信息抱怨说,当注释应该为我生成时,我没有所需的mojo描述符.我正在运行maven 3.0.5并使用intellij作为我的ide.这是我的主要课程:
@Mojo(name = "modify-connector")
public class ComplianceMojo extends AbstractMojo {
@Parameter
private String artifactId;
@Parameter
private String version;
@Override
public void execute() throws MojoExecutionException, MojoFailureException {
File jar = new File(getPluginContext().get("project.build.directory") + "/"
+ getPluginContext().get("project.build.finalname") + "/" + artifactId + "-" + version);
if(jar.exists()){
getLog().info("The file exists! " + jar.getAbsolutePath());
} else {
getLog().info("The file does not exist: " + jar.getAbsolutePath());
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的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>mysql-jdbc-compliance-maven-plugin</groupId>
<artifactId>mysql-jdbc-compliance-maven-plugin</artifactId> …
Run Code Online (Sandbox Code Playgroud)