Eclipse是最新的,cofoja也是如此,java jre / jdk也是如此。 ASM应该包含在cofoja中,但是为了以防万一我下载了3.3。
我遵循了我在互联网上找到的所有程序,但是第一个错误是eclipse从第一步开始就没有改变:“语法错误,插入”EnumBody“来完成BlockStatements”。
代码非常基础:
import java.io.whatever;
import java.net.whatever;
import com.google.java.contract.Requires;
public class ManageSocketServerExplicit{
[...]
public ManageSocketServerExplicit(String p_ipAddress, int p_port){
@Requires("p_port >= 0")
this(p_ipAddress,p_port,10,1000);
[...]
}
}
错误显然在要求的最后。
配置
目录中有几个项目。让我们说我想在其中一个上使用cofoja
基本目录是C:\ svn_java \ Progetti_NET,其中有我想要使用cofoja的项目,即'Malu'。进入它有多个源目录,不仅仅是一个通用的'src',但主要被称为'Code',它是主要的。
所以路径是(用两个斜线尝试它们,没有任何变化):
classoutput C:\ svn_java \ Progetti_NET \ Malu \ bin
classpath C:\ svn_java \ cofoja-1.1-r146.jar
sourcepath C:\ svn_java \ Progetti_NET \ Malu \ Code
顺便说一句,Eclipse理解cofoja的命名空间:如果我自动完成它,我可以看到列出的对象。
所以'注释处理'全部设置,'工厂路径'再次包含“c:\ svn_java \ cofoja-1.1-r146.jar”。当有变化时,工作区会自动更新,asmn和cofoja都在“Java Build Path”的库中。
我尝试在eclipse.ini中添加-vm命令以使用jdk(C:/ Program Files(x86)/Java/jdk1.7.0_21/bin),但是没有任何改变。
由于配置非常简单,所以修复它不应该那么难,但我不知道如何。
答案 0 :(得分:2)
我使用了Cofoja和eclipse,我使用这个link来配置它。 但是它缺少工厂路径。您还需要声明源路径,如图所示。 如果使用eclipse运行它,则必须设置文件的运行配置并添加以下VM争论 -javaagent: PATH TO JAR /cofoja.jar
@Requires和@Ensures是方法级合同。 你不能在方法中写它。相反,你需要按如下方式编写
公共类ManageSocketServerExplicit {
[...] @Requires("p_port >= 0") // CONTRACT public ManageSocketServerExplicit(String p_ipAddress, int p_port){ this(p_ipAddress,p_port,10,1000); [...] } }
希望它有所帮助:D
答案 1 :(得分:0)
好的,我明白了什么是错的:在将cofoja的源代码添加到项目中后,我理解我将@Requires放在了错误的位置......注释@Ensures给了我这个错误,但我忘了它。
:(
答案 2 :(得分:0)