Tag: 编译

如何在Java 6中使用为Java 7编译的库?

我正在开发一个Java应用程序,我需要使用一个名为myBeans.jar的jar。 这个myBeans.jar包含许多使用jdk 1.7编译的类文件。 我没有这些类文件的源代码。 我的整个应用程序使用的是jdk 1.6 。 我无法将其编译器更改为jdk 1.7 。 所以我希望我的jar与我的应用程序兼容。 这就是为什么我希望用jdk 1.6编译jar的类。 现在我的问题是: 有没有办法使用jdk 1.6编译类文件(而不是java文件)? 我们也欢迎任何其他建议。 有人建议我使用反编译器从类文件中获取源代码,然后使用jdk 1.6编译源代码。 但是我最后会喜欢这个解决方案,因为有很多类文件。

简单的命令行Java编译

因此,我必须将一个java项目发送给我们公司以外没有java经验的人,他们需要编译它。 有没有一种简单的方法在Windows命令行上执行它,不需要写出文件列表? 我个人认为javac应该足够聪明才能处理 javac * 当在包层次结构的根目录下的文件夹中时。 这个棒球场有什么吗? 编辑:源文件夹结构很复杂,并且没有单一的入门类,所以到目前为止提到的一些想法是行不通的。 谢谢! 在许多级别上使用代码深入了解9级。

maven如何只编译修改过的java文件?

我只是很想知道这一点,当我给mvn install而不做’clean’时,maven只编译修改过的java文件。 maven如何识别java文件是否被修改? 我相信它没有使用文件的最后修改属性。 我相信的原因:我有一个模块,在从svn合并更改后,我给了mvn install并且它没有编译修改后的文件,当我看到更改时,我看到’long’被修改为’Long’in吸气剂和二传手。 所以我只是想知道如果java文件发生了变化,maven是如何识别的? (PS我正在使用Apache Maven 3.0.3,如果这很重要)

在同一个包和目录中找不到符号

我有两个课程,包括课程和课程。 它们都在同一个包和同一目录中。 Offering.java: package assignment02; public class Offering implements Comparable { private Course course; private int CRN; private int semester; public Offering(Course course, int CRN, int semester) { this.course = course; this.CRN = CRN; this.semester = semester; } public int getNumCredits() { return course.getNumCredits; } public int getCRN() { return CRN; } public int getSemester() […]

如何在Netbeans中使用-g选项进行编译?

在调试时,我收到一条警告消息,说明’variable info not available – compiled without -g’ – 如何在netbeans中设置使用-g进行编译? 谢谢

为什么Java编译器不支持导入inheritance?

在Java中,导入与(外部)类相关,因为每个(外部)类应该在单独的文件中编码。 因此,可以声称import …; 类定义之前的指令与类相关联(有点像注释)。 现在,如果可以inheritance父类的导入,那将大大减少源文件的混乱。 为什么这不可能? 即为什么Java编译器也不考虑基类的导入? 笔记: 可能有不止一个答案。 我知道如果你让eclipse组织你的import,这不是什么大问题,不需要提及。 这是关于’为什么’,而不是’如何’(a-la- this )。

使用Java程序编译Java文件

是否有可能用Java编写的程序使用JDK编译器编译文件(除了使用Java打开命令提示符并在其上抛出“javac”命令来编译文件)?

java内存中编译

如何在运行时从String生成字节码(Byte []),而不使用“javac”进程或类似的东西? 是否有一种简单的方法来调用编译器? 后来补充: 我选择接受最符合我情况的解决方案 。 我的应用程序是一个仍处于设计草图阶段的业余爱好项目,现在是考虑插入新技术的最佳时机。 另外,因为那个应该帮助我的人是一个JavaScript开发人员,在这种情况下,使用JavaScript解释器而不是存根编译器+ classLoader的想法似乎更吸引我。 这个问题的其他(未接受的)答案是提供信息的,据我所知,很好地回答我的问题,谢谢,但我会尝试犀牛 🙂

Java实例变量用方法初始化

我对下面这段代码感到有点困惑: public class Test{ int x = giveH(); int h = 29; public int giveH(){ return h; } public static void main(String args[]) { Test t = new Test(); System.out.print(tx + ” “); System.out.print(th); } } 这里的输出是0 29 ,但我认为这必须是编译器错误,因为当涉及方法giveH()时,变量h应该尚未初始化。 那么,编译是从上到下进行的吗? 这为何有效? 为什么x 0的值不是29?

System.getProperty(“java.class.path”)不显示“WEB-INF / lib”和包含jar

String CompilePath = “abc.java”; JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); String classpath = System.getProperty(“java.class.path”); System.setProperty(“java.class.path”, classpath + “;” + LocalMachine.home + “WebContent/WEB-INF/lib”); int result = compiler.run(null, null, null, CompilePath); 由于编译abc.java文件所需的所有jars文件,因此在作为JUnit测试执行时上面运行正常。 但是当在服务器中运行相同的代码时,它无法找到所需的jar文件。 System.getProperty(“java.class.path”)的输出是E:\apache-tomcat-7.0.4\bin\bootstrap.jar;E:\apache-tomcat-7.0.4\bin\tomcat-juli.jar;C:\Program Files\Java\jdk1.6.0_21\lib\tools.jar 所以,我的问题是如何让编译器引用WEB-INF / lib目录中的jar文件?