草庐IT

java - 如何为 com.sun.tools.javac.Main.compile() 函数设置类路径?

我正在使用com.sun.tools.javac.Main.compile()函数在运行时从我的struts项目编译java文件。但是对于某些文件,他们需要一些特定的jar,例如axis2。我有jar,但如何将它们设置为类路径以在运行时编译java文件?我尝试使用System.setProperty("java.class.path","jardir");但编译失败。 最佳答案 以下使用com.sun.tools.javac.Main的代码对我有用:苹果.java//ThisclassispackagedinajarnamedMyJ

eclipse - JRE 系统库缺少 tools.jar

我使用的是Ubuntu12.04(LTS)。在我的Eclipse项目中,我需要使用com.sun.tools.attach包。但是,我的JRE系统库不包含包含该包的tools.jar文件。我尝试为Java6和7安装不同的JRE和JDK。我注意到其中一些在他们的libs文件夹中有提到的jar文件,但Eclipse仍然无法在选择JRE时将它包含在我的类路径中。引用tools.jar直接解决了问题,但由于这是一个共享项目,我不允许修改类路径,因此这对我来说不是一个可行的解决方案。我friend用的MAC是同版本的Eclipse和默认的JRE,没有出现这个问题。我们发现,对他而言,tools.

java - 如何更改 Hibernate Tools 反向工程 DAO 类的名称?

所以我正在尝试使用HibernateTools对我的数据库进行逆向工程,而我刚刚开始使用Freemarker模板来弱化它生成的代码。问题是我想更改它生成的DAO类的名称。默认情况下,DAO类以PersonH​​ome的形式命名,但是为了将名称更改为PersonDAO,我修改了dao/daohome.ftl。虽然这确实将生成的类名称更改为PersonDAO,但java文件仍称为PersonH​​ome.java。有没有地方我也可以更改生成的文件名以匹配源代码? 最佳答案 好吧,我自己已经弄清楚了。似乎虽然Hibernate工具确实支持

使用 findbugs 的 java 编译错误。 com.sun.tools.javac.code.Symbol$CompletionFailure : class file for javax. annotation.meta.When not found

我正在尝试使用findbugs1.3.2的注释。我在一个简单的测试中使用了edu.umd.cs.findbugs.annotations.NonNull注释,它工作正常。但是,现在我有一个大项目,由子模块组成,使用maven,我通过在某个java文件中导入该注释得到以下编译错误:com.sun.tools.javac.code.Symbol$CompletionFailure:classfileforjavax.annotation.meta.Whennotfound可能是什么问题?我尝试在所有子模块中添加findbugs依赖项。也许它与jsr305冲突?我看到我们的依赖项之一使用js

java - Spring Tool Suite 启动错误 - Java 已启动但返回退出代码 =13

我遵循了以下问题和答案:link1link2,link3,link4但我仍然没有找到解决问题的办法。我的STS.ini文件是:STS.ini,我得到的错误是:STSlaunchingerror.如果有人有解决办法请回复。 最佳答案 如果您点击了SpringToolSuitesite上的下载按钮它可能下载了32位版本(因为您使用的浏览器可能是32位)。除了rar文件的名称,我还没有找到确定您下载的版本的方法32位版本文件名为spring-tool-suite-3.8.4.RELEASE-e4.6.3-win32.zip,64位版本文件

java - Ant :[xslt] java.lang.ClassNotFoundException:org.apache.tools.ant.taskdefs.optional.TraXLiaison

我有一个Ant构建,它在Windows上运行良好,但当我将它移植到Linux上时似乎出现了问题。问题在这里:[xslt]java.lang.ClassNotFoundException:org.apache.tools.ant.taskdefs.optional.TraXLiaison我已经尝试过以下方法:将xalan.jar、xercesImpl.jar和xml-apis.jar放入$ANT_HOME/lib>目录。将它们从构建文件中放入类路径安装ant的可选类。我正在使用EC2Linux实例(基本64位AmazonLinuxAMI2011.02.1Beta(AMIId:ami-8e

java - 升级到 Java7 后构建失败,缺少 Tools.jar 和错误的类版本

我最近在我的MacbookPro上升级到Java7。我下载了JDK(不是JRE)。»javacversionjavac1.7.0_17»echo$JAVA_HOME/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home但是,当尝试运行构建时,其中一个Maven编译器插件失败,声称我安装了JRE:»mvninstall[ERROR]executeerrororg.apache.maven.plugin.MojoExecutionException:YouneedtorunbuildwithJDKorhavetools

java - 谁能向我解释 tools.jar(捆绑在 jdk/lib 文件夹中)的功能以及为什么需要它?

我在java中遇到了tools.jar文件。所以,想知道它到底是做什么用的?我搜索了很多但找不到文档。如果有人可以为我指定它的详细信息,那将非常有帮助,因为我是java的新手。谢谢。 最佳答案 在tools.jar中是JDK而非JRE需要的所有工具。包含在tools.jar中的是例如编译器javac和工具javadoc。此.jar文件中包含用Java开发所需的所有工具。 关于java-谁能向我解释tools.jar(捆绑在jdk/lib文件夹中)的功能以及为什么需要它?,我们在Stack

java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member fiel

如何解决问题java:java.lang.NoSuchFieldError:Classcom.sun.tools.javac.tree.JCTree$JCImportdoesnothavememberfield‘com.sun.tools.javac.tree.JCTreequalid’看网上说是因为lombok不兼容问题,修改lombok版本后可以正常编译实际操作下来,发现java版本不对应也会出现这种问题,遇到这种问题的可以看看自己的java版本对不对如下图

java - javax.tools 是否依赖于 JDK?

我想使用JavaCompiler动态创建一些类。我找到了javax.tools包的源码,但是没有实现;网上有些帖子说依赖于tools.jar,我不确定tools.jar是否与JRE相关。那么,在没有安装JDK的情况下,能否在JRE环境下运行程序呢?另外一个问题,JavaCompiler的实现细节是什么,是不是创建了一个新的进程来调用javac命令?谢谢 最佳答案 JRE需要在该包中包含接口(interface)和类,但不需要提供实现。Sun的JRE没有,调用ToolProvider.getSystemJavaCompiler()返回