尝试使用JDK 9.0.1编译Maven项目时,我遇到了这种堆栈跟踪,但没有太多解释:
Exception in thread "main" java.lang.AssertionError
at jdk.compiler/com.sun.tools.javac.util.Assert.error(Assert.java:155)
at jdk.compiler/com.sun.tools.javac.util.Assert.check(Assert.java:46)
at jdk.compiler/com.sun.tools.javac.comp.Modules.enter(
BUILD FAILED
C:\Users\workspace\Cq\build.xml:157: The following error occurred while executing this line:
C:\Users\workspace\Cq\CqClient\build.xml:155: Compile failed; see the compiler error output for details.
Total time: 40 seconds
当我们单击错误的第一个链接时,它会转到粗体和斜体线下面的主build.xml:
<target name=
我正在尝试将用Java 8编写的Spring项目迁移到Java 13,但是在编译过程中我得到了以下错误:
信息:java:编译器中发生了异常(13.0.1)。在检查bug数据库()是否重复之后,请通过Java报告页(,)向Java编译器提交一个bug。包括您的程序、下面的诊断以及报告中传递给Java编译器的参数。谢谢。
堆栈跟踪是:
java.lang.AssertionError: Incorrect number of arguments; expected 1, found 0
at jdk.compiler/com.sun.tools.javac.util.Asser
一个简单的示例,其中Ent.java使用注释并使用必要的jar依赖项进行编译,然后编译Includer.java,然后再导入Ent.java。
Ent.java:
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(name="securities")
public class Ent {}
Includer.java:
public class Includer {
public void f() {
Ent s = new Ent();
我试图使用许多教程中描述的以下方式从windows命令行启动测试:
javac -cp .;"c:\full\path\to\junit-4.12.jar" test\java\ColorTest.java
但结果是,我在每个字符串中都有编译错误:
public class ColorTest extends BaseTest{
^
symbol: class BaseTest
src\test\java\ColorTest.java:14: error: cannot find symbol
h
如果在具有错误文件名的文件中定义了公共类,javac将抛出一个错误:
square_supplies.java:5: error: class Answer is public, should be declared in a file named Answer.java
有什么能阻止这种行为的标志吗?如果javac是不可能的,那么是否还可以关闭另一个java编译器呢?
我试图理解javac的-classpath和-sourcepath选项之间的区别,即源代码文件的自动重新编译。我阅读了上的-sourcepath文档,对于它的-sourcepath选项,它说-
Note: Classes found through the class path may be subject to automatic recompilation if their sources are also found
我还查看了 (idevelopment.info),以了解有关javac的-classpath和-sourcepath选项的更多信息。在他们的示例中,它描述了一个涉及两个名
Java允许每个文件多个顶级类声明,条件是这些类中最多有一个是公共的。
但是,Oracle Java编译器似乎难以解决这些依赖关系。考虑:
// One.java
package jtest;
import jtest.Three;
public class One {}
// Two.java
package jtest;
public class Two {}
class Three {}
第一次编译的尝试以一个错误结束:
javac -cp . jtest\One.java
jtest\One.java:3: error: cannot find symbol
import jtes
我在一个目录中有两个java文件,它们都不在一个包中。我希望他们中的一个能参考另一个。怎样才是正确的方法?
目前在A类中,我试图引用B类,并得到以下错误:
[javac] A.java:11: cannot find symbol
[javac] symbol : constructor B(java.lang.String)
[javac] location: class B
[javac] B b = new B(path);
[javac] ^
以下所述均未奏效:
in A,执行“导入B”;向A和B添加"package myPacka
我意识到这个问题以前被问了很多,但我无法从这些答案中找出问题所在。
我有一个抽象的类Task:
package crowdtrust;
public abstract class Task
{
public enum Type
{
BinaryImageClassification;
};
public abstract void assignCrowd();
};
一项实施任务:
package crowdtrust;
import java.util.Collection;
import java.util.List;
public class Binar
我正在做我在GWT中的第一步,我对其中的可能性很着迷。
到目前为止,我已经建立了一个小项目,它依赖于外部库中提供的java类。这个库通过maven (自己的存储库)提供给我的项目。我想在客户端使用该库中的Java类-所以我必须在jar中提供源代码,并且必须确保这些类不使用无法转换为Javascript的代码。
到目前一切尚好。我终于克服了找不到源代码的错误。现在,在web应用程序的运行时出现了一个新的错误:
java.lang.ClassFormatError: Absent
Code attribute in method that is not
native or abstract in
我在Java编译器中遇到了一个bug,提交进行编译的文件的顺序可能会导致代码无法编译。我已经深入研究了代码,以尽可能少的代码来重现问题,结果是 (每个类1个类)。
public interface ActionSpec {
public abstract int run(String param);
}
public enum Actions implements ActionSpec {
SKIP {
public int run(String d) {
return 0;
}
};
}
public cl