2

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);
        [...]
    }
}

错误显然在 Require 的末尾。

配置目录中有几个项目。假设我只想在其中一个上使用 cofoja。
基目录是 C:\svn_java\Progetti_NET,其中有我想在其上使用 cofoja 的项目,即“Malu”。里面有多个源目录,不仅仅是一个通用的“src”,而是主要的叫做“代码”,它是主体。
所以路径是(用两个斜杠尝试它们,没有任何变化):
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 构建路径”的库中。

我尝试在 eclipse.ini 中添加 -vm 命令以使用 jdk (C:/Program Files (x86)/Java/jdk1.7.0_21/bin),但同样没有任何改变。

由于配置非常简单,因此修复它应该不难,但我不知道如何。

4

3 回答 3

2

我将 Cofoja 与 eclipse 一起使用,并使用此链接对其进行配置。但是它缺少工厂路径。您还需要说明源路径,如我的图像所示。如果使用 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

工厂路径

于 2013-08-27T00:23:13.823 回答
0

一个很好实现的教程:http ://webcourse.cs.technion.ac.il/236700/Spring2013/ho/WCFiles/Contracts%20for%20Java.pdf

于 2015-02-27T11:42:46.663 回答
0

好的,我明白出了什么问题:在将 cofoja 的源代码添加到项目后,我明白我将@Requires 放在了错误的位置......注解@Ensures 给了我这个错误,但我忘记了。
:(

于 2013-04-30T08:24:57.167 回答