有两个独立的项目(myWarProject和MyEjbProject).因此,当我构建myWarProject我需要将MyEjbProjectin 安装到本地存储库时,那么我可以在myWarProject中定义为依赖项并成功打包myWarProject.
有没有办法处理这个没有MyEjbProject单独安装,也没有定义为父模块.
我知道这可以通过ant build实现,但想知道是否有办法通过maven来处理?
我们可以用"pom"创建父项目,并在父项目下移动另外两个项目.但是,遗憾的是我不能这样做,因为目前我们已经将这两个作为CVS中的单独项目,我无法改变结构.如果我可以通过pom文件处理这个,这就是我正在寻找的东西.
什么是正确的Maven的环境变量名:MAVEN_HOME,MVN_HOME或M2_HOME?
我发现一些细节有关MAVEN_HOME,并M2_HOME 在这里.但我也见过MVN_HOME.
我第一次使用Maven而且我坚持依赖.
我用Eclipse创建了一个Maven项目并添加了依赖项,并且它没有问题.
但是当我尝试通过命令行运行它时:
$ mvn package # successfully completes
$ java -cp target/bil138_4-0.0.1-SNAPSHOT.jar tr.edu.hacettepe.cs.b21127113.bil138_4.App # NoClassDefFoundError for dependencies
Run Code Online (Sandbox Code Playgroud)
它下载依赖项,成功构建,但是当我尝试运行它时,我得到NoClassDefFoundError:
Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonParseException
at tr.edu.hacettepe.cs.b21127113.bil138_4.db.DatabaseManager.<init>(DatabaseManager.java:16)
at tr.edu.hacettepe.cs.b21127113.bil138_4.db.DatabaseManager.<init>(DatabaseManager.java:22)
at tr.edu.hacettepe.cs.b21127113.bil138_4.App.main(App.java:10)
Caused by: java.lang.ClassNotFoundException: org.codehaus.jackson.JsonParseException
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
... 3 more
Run Code Online (Sandbox Code Playgroud)
我的pom.xml是这样的:
<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>tr.edu.hacettepe.cs.b21127113</groupId>
<artifactId>bil138_4</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>bil138_4</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency> …Run Code Online (Sandbox Code Playgroud) 我真的厌倦了一直与Maven 2挣扎.构建工具不应该妨碍.最近我一直在关注Buildr和Gradle.Maven 3似乎解决了一些困难.那么,我现在该怎么办?Buildr?摇篮?还是等一年Maven 3?
这就是我配置的方式 maven-assembly-plugin
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<finalName>myapp</finalName>
<archive>
<manifest>
<mainClass>com.myapp.Main</mainClass>
</manifest>
</archive>
<!--
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
-->
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
我希望最终的jar文件应该是,myapp.jar但它最终会结束myapp-jar-with-dependencies.jar
你能告诉我如何配置以排除"jar-with-dependencies"最终名称吗?
我有一个使用pmd插件进行代码质量检查的大型maven项目.
自从我开始使用pmd插件后,我收到以下警告消息:
[WARNING] Unable to locate Source XRef to link to - DISABLED
Run Code Online (Sandbox Code Playgroud)
我用Google搜索,发现我需要实现jxr插件.
所以我将以下内容添加到主pom.xml文件中的build属性中.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>2.3</version>
</plugin>
Run Code Online (Sandbox Code Playgroud)
它真的没有改变任何东西.
我需要实现什么才能解决此警告消息?
输出 mvn -version
Apache Maven 3.0.4 (r1232337; 2012-01-17 10:44:56+0200)
Maven home: /usr/share/maven-bin-3.0
Java version: 1.7.0_05, vendor: Oracle Corporation
Java home: /usr/lib64/icedtea7/jre
Default locale: en_US, platform encoding: ANSI_X3.4-1968
OS name: "linux", version: "3.5.2-gentoo", arch: "amd64", family: "unix"
Run Code Online (Sandbox Code Playgroud)
谢谢!
我从Git存储库导入了一个项目,并在Eclipse中添加了Maven性质.在resources文件夹中,我添加了一个名为的配置文件myconf.properties.现在,每当我尝试从我的Java代码中打开这个文件时,我都会得到FileNotFoundException.该文件也存在于target/classesmaven编译项目后生成的文件夹中.
谁能告诉我可能是什么问题?我试图加载此文件的Java代码是:
props.load(new FileInputStream("myconf.properties"));
Run Code Online (Sandbox Code Playgroud)
在哪里props是一个Properties对象.
谁能给我一些关于如何解决这个问题的提示?
现在我正在使用maven-javadoc-plugin将Javadoc附加到.jar工件上.
但是,如何以html格式生成Javadoc,以便我们可以将其scp到远程服务器以供参考?
谢谢!
我刚开始使用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标记之后?有关系吗?
我有一个包含几个模块的maven项目.在Eclipse(Juno,m2e)中,似乎编译得很好.但是当我在其中一个模块上进行maven安装时,构建会立即失败.
父母pom:
<groupId>com.sw.system4</groupId>
<artifactId>system4-parent</artifactId>
<version>${system4.version}</version>
<packaging>pom</packaging>
<name>System 4 Parent Project</name>
<modules>
<module>system4-data</module>
...others...
</modules>
<properties>
<system4.version>0.0.1-SNAPSHOT</system4.version>
<spring.version>3.2.3.RELEASE</spring.version>
... others...
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
<scope>runtime</scope>
</dependency>
... lots of others ...
</dependencies>
</dependencyManagement>
Run Code Online (Sandbox Code Playgroud)
儿童pom:
<parent>
<groupId>com.sw.system4</groupId>
<artifactId>system4-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>system4-data</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<scope>runtime</scope>
</dependency>
... lots of others...
</dependencies>
Run Code Online (Sandbox Code Playgroud)
当我构建时,我得到以下输出:
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR] The project com.sw.system4:system4-data:0.0.1-SNAPSHOT (C:\work\eclips
e_workspaces\systemiv\system4-parent\system4-data\pom.xml) has 8 errors
[ERROR] 'dependencies.dependency.version' for org.springframework:spring-cor
e:jar …Run Code Online (Sandbox Code Playgroud)