Java 无法从命令行使用Twitter4j运行应用程序
我在我的类路径中包含了Twitter4j.jar文件,如下所示:Java 无法从命令行使用Twitter4j运行应用程序,java,command-line,classpath,twitter4j,Java,Command Line,Classpath,Twitter4j,我在我的类路径中包含了Twitter4j.jar文件,如下所示: <?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path=""/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.de
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path=""/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
<classpathentry kind="lib" path="C:/twitter4j-3.0.5/lib/twitter4j-core-3.0.5.jar"/>
<classpathentry kind="lib" path="C:/twitter4j-3.0.5/lib/twitter4j-stream-3.0.5.jar"/>
<classpathentry kind="output" path=""/>
</classpath>
.;C:/twitter4j-3.0.5/lib/twitter4j-core-3.0.5.jar;C:/twitter4j-3.0.5/lib/twitter4j-stream-3.0.5.jar
要从命令行运行使用twitter4j的应用程序,我还需要做些什么吗?您必须在命令行shell类路径中添加
twitter4j-core-3.0.5.jar
和twitter4j-stream-3.0.5.jar
编辑
在窗户里
set CLASSPATH=%CLASSPATH%;<Path to>/twitter4j-stream-3.0.5.jar;<Path to>/twitter4j-core-3.0.5.jar;<Path to Directory containing Class files or Start of Package>
我在这里找到了答案:
具体而言,该部分说明:
默认类路径是当前目录。设置类路径
变量或使用-classpath命令行选项覆盖
默认设置,因此如果要在搜索中包含当前目录
路径,则必须在新设置中包含“.”
似乎我在设置我的CLASSPATH
Windows环境变量时忽略了这一点。我将
添加到我的类路径中,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path=""/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
<classpathentry kind="lib" path="C:/twitter4j-3.0.5/lib/twitter4j-core-3.0.5.jar"/>
<classpathentry kind="lib" path="C:/twitter4j-3.0.5/lib/twitter4j-stream-3.0.5.jar"/>
<classpathentry kind="output" path=""/>
</classpath>
.;C:/twitter4j-3.0.5/lib/twitter4j-core-3.0.5.jar;C:/twitter4j-3.0.5/lib/twitter4j-stream-3.0.5.jar
使用通配符进一步简化,它将变成:
.;C:/twitter4j-3.0.5/lib/*
这允许我正确使用
JavaMyTwitterApp
语法。它查找我在项目中使用的相关.jar
文件,
允许我使用当前目录作为所有其他Java应用程序的类路径,因此不会破坏任何兼容性。设置类路径似乎解决了查找jar文件的问题,但是现在我得到了一个错误:在试图从命令行运行主类MyTwitterApp时,无法找到或加载它。如果我删除类路径,我就可以从命令行运行其他项目。一旦添加了类路径,我就失去了这个功能。你的MyTwitterApp.class是在包中还是没有包?它不在包中。MyTwitterApp.java在默认包中。然后需要添加指向MyTwitterApp.class文件所在目录的路径。请看我在ClassPath中的编辑。这是可行的,但并不理想。我必须以这种方式将每个路径添加到我的每个Java应用程序中。有更好的解决办法吗?
.;C:/twitter4j-3.0.5/lib/*