Eclipse是最新的,cofoja也是如此,java jre / jdk也是如此。
ASM应该包含在cofoja中,但是为了以防万一,我下载了3.3。
我遵循了我在Internet上可以找到的所有过程,但是从第一步开始,第一次出现的日食错误从未改变:“语法错误,插入“ 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);
[...]
}
}
该错误显然在Require的末尾。
组态
目录中有几个项目。假设我只想在其中之一上使用cofoja。
基本目录是C:\ svn_java \ Progetti_NET,其中有我要在其上使用cofoja的项目,即“ Malu”。在其中有多个源目录,不仅是通用的“ src”,而且主要称为“代码”,它是主体。
因此,路径是(用两个斜杠尝试,没有任何变化):
类输出C:\ svn_java \ Progetti_NET \ Malu \ bin
类路径C:\ svn_java \ cofoja-1.1-r146.jar
源路径C:\ svn_java \ Progetti_NET \ Malu \ Code
Eclipse通过以下方式了解cofoja的名称空间:如果我自动完成它们,则可以看到列出的对象。
因此,“注释处理”已全部设置,并且“工厂路径”再次包含“ c:\ svn_java \ cofoja-1.1-r146.jar”。当发生更改并且asmn和cofoja都在“ Java构建路径”的库中时,工作空间会自动更新。
我还尝试在eclipse.ini中添加-vm命令以使用jdk(C:/程序文件(x86)/Java/jdk1.7.0_21/bin),但再次没有任何改变。
由于配置非常简单,因此对其进行修复应该不会很困难,但是我不知道如何进行。
最佳答案
我将Cofoja与eclipse一起使用,并使用此link对其进行配置。
但是,它缺少工厂路径。您还需要声明源路径,如我的图像所示。
如果使用eclipse运行它,则必须设置文件的运行配置并添加以下VM争论
-javaagent: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