2016-12-01 40 views
0

嗨即使在包含jdk路径位置后,我仍然收到此错误。它产生出在ant build中的java类路径错误Oxygen Dita-Ot

Expected to find it in C:\Program Files\Java\jre1.8.0_111\lib\tools.jar 

的CMD代码这个

C:\Program Files\Oxygen XML Editor 17\frameworks\dita\DITA-OT2.x>ant -f integrator.xml 
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre1.8.0_111\lib\tools.jar 
Buildfile: C:\Program Files\Oxygen XML Editor 17\frameworks\dita\DITA-OT2.x\integrator.xml 

strict: 

integrate: 

BUILD FAILED 
C:\Program Files\Oxygen XML Editor 17\frameworks\dita\DITA-OT2.x\integrator.xml:66: The following error occurred while executing this line: 
C:\Program Files\Oxygen XML Editor 17\frameworks\dita\DITA-OT2.x\integrator.xml:44: javax.xml.transform.TransformerFactoryConfigurationError: Provider net.sf.saxon.TransformerFactoryImpl not found 
     at javax.xml.transform.FactoryFinder.newInstance(Unknown Source) 
     at javax.xml.transform.FactoryFinder.find(Unknown Source) 
     at javax.xml.transform.TransformerFactory.newInstance(Unknown Source) 
     at org.dita.dost.platform.Integrator.writePlugins(Integrator.java:514) 
     at org.dita.dost.platform.Integrator.integrate(Integrator.java:207) 
     at org.dita.dost.platform.Integrator.execute(Integrator.java:200) 
     at org.dita.dost.platform.IntegratorTask.execute(IntegratorTask.java:40) 
     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
     at java.lang.reflect.Method.invoke(Unknown Source) 
     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
     at org.apache.tools.ant.Task.perform(Task.java:348) 
     at org.apache.tools.ant.Target.execute(Target.java:435) 
     at org.apache.tools.ant.Target.performTasks(Target.java:456) 
     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393) 
     at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38) 
     at org.apache.tools.ant.Project.executeTargets(Project.java:1248) 
     at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:441) 
     at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105) 
     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
     at java.lang.reflect.Method.invoke(Unknown Source) 
     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
     at org.apache.tools.ant.Task.perform(Task.java:348) 
     at org.apache.tools.ant.Target.execute(Target.java:435) 
     at org.apache.tools.ant.Target.performTasks(Target.java:456) 
     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393) 
     at org.apache.tools.ant.Project.executeTarget(Project.java:1364) 
     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 
     at org.apache.tools.ant.Project.executeTargets(Project.java:1248) 
     at org.apache.tools.ant.Main.runBuild(Main.java:851) 
     at org.apache.tools.ant.Main.startAnt(Main.java:235) 
     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) 
     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109) 
Caused by: java.lang.ClassNotFoundException: net/sf/saxon/TransformerFactoryImpl 
     at java.lang.Class.forName0(Native Method) 
     at java.lang.Class.forName(Unknown Source) 
     at javax.xml.transform.FactoryFinder.getProviderClass(Unknown Source) 
     ... 38 more 

Total time: 0 seconds 

有什么不对的类路径或与积分xml文件?我遵循氧气dita-ot网站和书中给出的步骤。

我认为这个问题是在本节

C:\Program Files\Oxygen XML Editor 17\frameworks\dita\DITA-OT2.x\integrator.xml:66: The following error occurred while executing this line: 
C:\Program Files\Oxygen XML Editor 17\frameworks\dita\DITA-OT2.x\integrator.xml:44: javax.xml.transform.TransformerFactoryConfigurationError: Provider net.sf.saxon.TransformerFactoryImpl not found 

而且我行积分数(44,66)说,这,这我是无法理解。

44 <integrate ditadir="${dita.dir}" strict="${strict}"/> 

65<target name="strict" description="Run integration in strict mode"> 
    66 <antcall target="integrate"> 
    67 <param name="strict" value="true"/> 
    68</antcall> 
    69</target> 

回答

0

tools.jar只存在于JDK包而不是JRE包中。您需要下载并安装JDK8软件包,然后将系统属性(JAVA_HOME和PATH)链接到新的JDK安装目录路径。

JDK8 download

毕竟,重新运行命令。

+0

谢谢,但我已经下载了最新的jdk版本。而JAVA_HOME究竟意味着什么?我知道的道路。 –

+0

JAVA_HOME表示JDK安装目录,在我的电脑上是“D:\ Program Files \ Java \ jdk1.8.0_60”,并添加“%JAVA_HOME%\ bin;”到PATH值的头。然后再试一次:) – edwardXie

+0

谢谢,我已经得到它,我的文件正在建设成功 –

0

您正试图从命令行运行integrator.xml,并且错误消息显示Saxon不在类路径中。

通常,oXygen用户通过管理员权限调用oXygen并选择“Document” - “Transformation” - “Configure Transformation Scenario” - “运行DITA OT Integrator”。

Transformation Scenario

Executing: 
"c:\program files\oxygen xml editor 18.1\jre/bin/java" -Xmx256m -classpath "C:\Program Files\Oxygen XML Editor 18.1\tools\ant/lib/ant-launcher.jar" "-Dant.home=C:\Program Files\Oxygen XML Editor 18.1\tools\ant" org.apache.tools.ant.launch.Launcher -lib "C:\Program Files\Oxygen XML Editor 18.1\frameworks\dita\DITA-OT2.x\lib\ant-apache-resolver-1.9.4.jar" -lib "C:\Program Files\Oxygen XML Editor 18.1\frameworks\dita\DITA-OT2.x\lib\ant-launcher.jar" -lib "C:\Program Files\Oxygen XML Editor 18.1\frameworks\dita\DITA-OT2.x\lib\ant.jar" -lib "C:\Program Files\Oxygen XML Editor 18.1\frameworks\dita\DITA-OT2.x\lib\commons-codec-1.9.jar" -lib "C:\Program Files\Oxygen XML Editor 18.1\frameworks\dita\DITA-OT2.x\lib\commons-io-2.4.jar" -lib "C:\Program Files\Oxygen XML Editor 18.1\frameworks\dita\DITA-OT2.x\lib\dost-configuration.jar" -lib "C:\Program Files\Oxygen XML Editor 18.1\frameworks\dita\DITA-OT2.x\lib\dost-patches.jar" -lib "C:\Program Files\Oxygen XML Editor 18.1\frameworks\dita\DITA-OT2.x\lib\dost.jar" -lib "C:\Program Files\Oxygen XML Editor 18.1\frameworks\dita\DITA-OT2.x\lib\guava-19.0.jar" -lib "C:\Program Files\Oxygen XML Editor 18.1\frameworks\dita\DITA-OT2.x\lib\jsearch.jar" -lib "C:\Program Files\Oxygen XML Editor 18.1\frameworks\dita\DITA-OT2.x\lib\xml-apis-1.4.01.jar" -lib "C:\Program Files\Oxygen XML Editor 18.1\frameworks\dita\DITA-OT2.x\lib\xml-resolver-1.2.jar" -f "C:\Program Files\Oxygen XML Editor 18.1\frameworks/dita/DITA-OT2.x/integrator.xml" "-Dstrict=true" "-Dwebhelp.trial.license=no" 

Buildfile: C:\Program Files\Oxygen XML Editor 18.1\frameworks\dita\DITA-OT2.x\integrator.xml 

strict: 

integrate: 
     [jar] Building jar: C:\Program Files\Oxygen XML Editor 18.1\frameworks\dita\DITA-OT2.x\lib\dost-configuration.jar 

BUILD SUCCESSFUL 
Total time: 9 seconds 

The process finished with exit code: 0 

此方法将解决你的问题。

+0

当然,先生,我会试试这个,然后让你知道 –

0

您的代码显示您正在使用DITA OT的2.x版本。但是,您正在使用集成商命令来使用较旧的OT版本。

您可以使用氧气运行积分,但如果你想在命令行中运行它,这样做:

  1. 打开命令窗口,作为管理员:按开始,键入cmd,在CMD。 exe出现,右键单击它并选择“以管理员身份运行”。
  2. 导航到氧气2.X DITA OT:

    C:\ Program Files文件\氧XML编辑器17个\框架\ DITA \ DITA-OT2.x

  3. 输入以下命令:

    bin \ dita -install

如果它返回到没有错误的提示,你应该很好去。

顺便说一下,tools.jar错误通常不是需要担心的问题。

+0

谢谢!我很高兴:) –

+0

不客气,你可以点击箭头,所以我得到我的布朗尼点? – markg