我在默认包中有一个名为 SnmpGet.java 的类。它需要一个名为 example.jar 的jar。 example.jar 的结构是-> degault package-> snmp.class
。现在 SnmpGet.java 使用此 snmp.class 。所以现在它工作正常,因为 SnmpGet.java 和 snmp.class 是默认包。但是,如果我将用户定义的包中的SnmpGet.java移动到com.test.Work,则无法检测到jar文件。我能做什么?
我只需要在用户定义的包中使用SnmpGet.java。 jar是下载的jar。我无法对其进行更改。
答案 0 :(得分:0)
首先,您的软件包不遵循java naming conventions,没有大写字母!
您是否依赖snmp类的protected
方法,类,属性等?如果是这样,那么将SnmpGet类移动到另一个包将导致您丢失这些访问
答案 1 :(得分:0)
如果您想调用protected
的{{1}}方法,那么您的课程必须
snmp.class
(snmp.class
)或 public class SnmpGet extends snmp
将java文件从snmp.class
移动到目录.
需要在源文件中添加./com/test/Work
语句:
package
然后必须再次编译。
现在,为了启动应用程序,请返回目录package com.test.Work;
(现在包含.
文件夹的目录)并执行
com
(如果您使用unix,请使用java -cp .;example.jar com.test.Work.SnmpGet
代替:
答案 2 :(得分:0)
您可以尝试将jar(s)依赖项添加到类路径中。并导入包&您希望在SnmpGet.java文件中使用的jar中的类。如果您使用的是NetBeans IDE,请执行以下设置将jar添加到类路径中:
如果您正在使用Eclipse IDE,则可以使用以下步骤:
希望这可以解决您的问题。