2012-12-04 100 views
1

我想在我的Eclipse中設置xmlbeans-maven-plugin 2.3.3,雖然一切似乎都不錯,但由於無法找到文件C:\Users\Daniel\Workspace\MyProject\javac而導致java.io.IOException失敗。xmlbeans-maven-plugin找不到javac

這很奇怪,因爲系統%PATH%上的javac is,爲什麼它會嘗試在%PROJECT_LOC%中找到它?

我發現this problem description這聽起來與我的非常相似,但是我將JDK路徑放在所有其他路徑的前面,這並沒有幫助。

任何想法如何告訴xmlbeans-maven-plugin哪裏尋找javac

更新1:我試圖通過簡單地複製javac.exe到項目的目錄,至少它現在發現它,但問題向前推進,以解決此問題的工作:

java.lang.NoClassDefFoundError: com/sun/tools/javac/Main 
Caused by: java.lang.ClassNotFoundException: com.sun.tools.javac.Main 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
Exception in thread "main" Could not find the main class: com.sun.tools.javac.Main. Program will exit. 

任何瞭解,可以幫助來與正確的解決方案(例如在.m2/settings.xml?)將不勝感激。

更新2:我也試過this little solution我在搜索中發現:

<settings 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/settings-1.0.0.xsd"> 
    <localRepository>c:\maven\repository</localRepository> 
    <configuration> 
    <compiler>C:\Program Files (x86)\Java\jdk1.6.0_37\bin\javac.exe</compiler> 
    </configuration> 
</settings> 

但是,這並沒有幫助插件找到javac。它仍然抱怨「系統找不到指定的文件」for javac.exe。

回答

2

找到解決方案!在項目的 pom.xml中,只需添加內<configuration>如下:

<compiler>C:\Program Files (x86)\Java\jdk1.6.0_37\bin\javac.exe</compiler> 

 <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>xmlbeans-maven-plugin</artifactId> 
      <version>2.3.3</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>xmlbeans</goal> 
        </goals> 
       </execution> 
      </executions> 
      <inherited>true</inherited> 
      <configuration> 
       <schemaDirectory>${basedir}/src/main/xsd</schemaDirectory> 
       <compiler>C:\Program Files (x86)\Java\jdk1.6.0_37\bin\javac.exe</compiler> 
      </configuration> 
     </plugin> 

而且,務必將Window -> Preferences -> Java -> installed JREs指向JDK的,而不是JRE的:C:\Program Files (x86)\Java\jdk1.6.0_37。如所述in this thread