首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置类路径后,是否需要从jar文件导入包?

设置类路径后,是否需要从jar文件导入包?
EN

Stack Overflow用户
提问于 2013-01-05 00:05:46
回答 1查看 281关注 0票数 0

事情是这样的-我下载了一个jar文件,我需要它来与Allen Bradley PLC通信。很自然地,我设置了CLASSPATH,并期望能够使用jar文件中的一个类的构造函数创建一个程序,然后继续我的工作。事实并非如此。

下面是我的CLASSPATH:

代码语言:javascript
复制
nick@ubuntu:~/Java/PLC Program$ echo $CLASSPATH
/home/nick/Java/PLC Program/ethernetip4j-0.2.jar

下面是我的程序中的代码:

代码语言:javascript
复制
ControlLogixConnector test = new ControlLogixConnector(ENBTIP,44818);

我编译并得到以下错误:

代码语言:javascript
复制
nick@ubuntu:~/Java/PLC Program$ javac PLCServer.java
PLCServer.java:13: error: cannot find symbol
    ControlLogixConnector test = new ControlLogixConnector(ENBTIP,44818);
    ^
symbol:   class ControlLogixConnector
location: class PLCServer
PLCServer.java:13: error: cannot find symbol
    ControlLogixConnector test = new ControlLogixConnector(ENBTIP,44818);
                                     ^
symbol:   class ControlLogixConnector
location: class PLCServer
2 errors

我将我的程序和jar文件放在同一个目录中。我是否需要导入jar文件中的任何包,或者我是否遗漏了一些完全不同的东西?

提前感谢

编辑:

下面是我的代码:

代码语言:javascript
复制
import java.io.*;
import java.net.*;
import se.opendataxchange.ethernetip4j.clx.ControlLogixConnector;

class PLCServer
{
    public static void main(String argv[]) throws IOException
    {
        // IP address of the ethernet card
        String ENBTIP = "192.168.10.14";
        ControlLogixConnector test = new ControlLogixConnector(ENBTIP,44818);
    }
}

我得到的错误是se.opendataexchange.ethernetip4j.clx.ControlLogixConnector不存在,ControlLogixConnector对象也不存在(用javac PLCServer.java编译)。

EN

回答 1

Stack Overflow用户

发布于 2013-01-05 00:25:48

您的导入语句import home.nick.Java.PLCProgram.ethernetip4j.*;似乎指示了jar在您的项目中的位置。

这是不正确的。

相反,它的目的是引用jar的包结构,解析为您试图使用的类(如果使用通配符,则解析为一组类)。

如果您不知道类ControlLogixConnector驻留在哪个包中,那么可以解压这个jar,从目录结构可以看出这一点。(@allergic在评论中指出这是se.opendataexchange.ethernetip4j.clx)。

您可以通过从jar中反编译.class文件、使用JAD之类的实用程序或其他类似工具来获得更高的精确度。但是,将Jar导入到任何IDE中都可以做到这一点-- jar中的类应该按包在树视图中分解。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14160563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档