我想把JDK tools.jar作为编译依赖项.我找到了一些示例,表明要使用systemPath属性,如下所示:
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
Run Code Online (Sandbox Code Playgroud)
问题是Mac OS X的路径不正确(但对Windows和Linux来说是正确的).对于它,正确的路径是$ {java.home} /../ Classes/classes.jar.
我正在寻找一种方法来定义maven属性,这样如果系统被检测为Mac Os X,则值设置为$ {java.home} /../ Classes/classes.jar,否则设置为$ {java.home} /../ lib/tools.jar(就像可以用ANT一样).有人有想法吗?
当我跑步时mvn -version,我注意到了java_home要点...jdk\jre(如下图所示).那是错的吗?是不是应该指向...\jdk.x.y.z(没有\jre)?如果是这样,我该如何重置它?(在全局%java_home%指向jdk目录)
C:\Users\Owner>mvn -version
Apache Maven 2.2.1 (r801777; 2009-08-06 15:16:01-0400)
Java version: 1.7.0_17
Java home: C:\Program Files\Java\jdk1.7.0_17\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7" version: "6.1" arch: "amd64" Family: "windows"
Run Code Online (Sandbox Code Playgroud) 我在我的web项目中使用maven这是我的pom.xml看起来如何使用eclipse juno,使用apache tomcat 7,我运行windows xp OS,"C:\ Program Files\Java\jdk1.6.0_23\lib"是在我的工具罐子is.i试图在pom.xml中硬编码,但它在告诉着硬code.tried下面的使用配置文件仍然同样的错误"缺少神器的com.sun:工具:罐子:1.5.0"请请帮助我自谷歌搜索1周以来一直受够了
</dependencies>
<profiles>
<profile>
<id>default-tools.jar</id>
<activation>
<property>
<name>java.vendor</name>
<value>Sun Microsystems Inc.</value>
</property>
</activation>
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.5.0</version>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
</dependencies>
</profile>
</profiles>
</project>
I:\eclipse-jee-juno-RC3-win32\workspace\MYProject>mvn clean install
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building MYProject 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.594s
[INFO] Finished at: Sat Feb 23 20:49:53 GMT+05:30 2013
[INFO] Final Memory: 3M/15M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on …Run Code Online (Sandbox Code Playgroud) 我试图构建PlayN示例项目:
Missing artifact com.sun:tools:jar:1.6 pom.xml /playn-cute line 6 Maven Dependency Problem
Run Code Online (Sandbox Code Playgroud)
在每个pom.xml文件上.我该如何解决?
编辑:
我已将配置文件节点添加到pom.xml,但错误仍然存在.我已经检查过tools.jar它确实存在,而它没有.所以我已经添加tools.jar到lib文件夹了.仍然存在错误.
完整的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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.googlecode.playn</groupId>
<artifactId>playn-project</artifactId>
<version>1.0.1</version>
</parent>
<artifactId>playn-cute</artifactId>
<name>PlayN Cute Metaproject</name>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<playn.version>1.0.1</playn.version>
</properties>
<modules>
<module>core</module>
<module>java</module>
<module>html</module>
<!-- <module>flash</module> -->
<module>android</module>
</modules>
<profiles>
<profile>
<id>default-tools.jar</id>
<activation>
<property>
<name>java.vendor</name>
<value>Sun Microsystems Inc.</value>
</property>
</activation>
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.6</version>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
</dependencies>
</profile>
</profiles> …Run Code Online (Sandbox Code Playgroud) 我最近升级到JAXB 2.2.11并在Eclipse控制台中注意到以下消息:
10/15/14, 11:42:46 PM GMT+2: [INFO] Creating new launch configuration
10/15/14, 11:42:58 PM GMT+2: [INFO] C:\Projects\workspaces\mj2p\maven-jaxb2-plugin-project\tests\JAXB-1044
10/15/14, 11:42:58 PM GMT+2: [INFO] mvn -B -X -e clean install
10/16/14, 12:09:07 AM GMT+2: [WARN] The POM for com.sun.xml.bind:jaxb-impl:jar:2.2.11 is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model for com.sun.xml.bind:jaxb-impl:2.2.11
[ERROR] 'dependencyManagement.dependencies.dependency.systemPath' for com.sun:tools:jar must specify an absolute path but is ${tools.jar} @
10/16/14, 12:09:07 AM GMT+2: [WARN] The POM for com.sun.xml.bind:jaxb-xjc:jar:2.2.11 …Run Code Online (Sandbox Code Playgroud)