我有一个git存储库,当对特定分支进行推送时,它将.Java文件下拉到生产服务器。(工作)我正在运行带有openJDK包的Debian9。(jdk 1.8.0)
我决定在服务器上编译新的.Java文件,然后执行它们。我的问题是,当将-cp参数指定为“lib/*.jar”时,在编译过程中我得到:错误包jar.example.class不存在import jar.example.class;
对从另一个.lib文件引用的任何信息进行引用,以此类推。
重要:我得到的最接近的命令是这个命令,它不产生输出,但不编译整个项目。
例如:在/server/bin/com/ruse/net/packet/impl/中,.class文件比/server/src/com/ruse/net/packet/impl/中相应的ItemActionPacketListener.java文件旧
作为参考,这里是我一直用来运行服务器的命令(它可以工作)
我尝试过以不同的方式提供-cp或-classpath参数,但是,javac似乎无法在编译期间引用.jar文件。
下面是我尝试过的各种javac命令:
>
javac-classpath“lib/*.jar”-d“bin/”“src/com/ruse/gameserver.java”
javac-sourcepath/home/rsps/server/src/.Java-classpath类:lib/.jar-d bin
javac-classpath“lib/*.jar”-d“bin/”-sourcePath“src/”“src/com/ruse/gameserver.java”
javac-cp“lib/:lib/*”-d“bin/”-sourcePath“src/”“src/com/ruse/gameServer.java”
javac-cp.:/lib/*.jar:-d“bin/”“src/com/ruse/gameServer.java”
我希望输出是新鲜的.class文件,但实际结果都是以下的变化:
结果如下:
符号:类ChannelBuffer
位置:类PacketBuilder
src/com/ruse/world/world.java:11:错误:包com.google.common.util.concurrent不存在
导入com.google.common.util.concurrent.ThreadFactoryBuilder;
^
src/com/ruse/util/misc.java:26:错误:包org.jboss.netty.buffer不存在
导入org.jboss.netty.buffer.ChannelBuffer;
^
src/com/ruse/util/misc.java:750:错误:找不到符号
public static String readString(ChannelBuffer buffer) {
^
符号:类ChannelBuffer
地点:类杂项
src/com/ruse/world/content/dialogueManager.java:6:错误:包com.google.gson不存在
导入com.google.gson.gson;
^
一个明显的非答案:您正在谈论一个真实世界的项目和需求。
在现实世界中,您不会手动调用javac。相反,您使用像maven或Gralde这样的构建系统。定义一个包含所需库的项目结构。
然后让构建系统处理所有讨厌的细节。任何其他的东西都意味着:你花费了大量的精力来创建你自己的缺陷构建系统。
所以:不要推倒重来!这个问题解决了,无论你想出什么,都不会像这样成熟的构建系统那样强大,更容易出错。
更新:当你的团队更喜欢遵循效率较低的策略,而你又没有任何杠杆作用,那么最好的选择就是以身作则。比如:使用Gradle创建一个工作的构建设置和项目定义。然后向您的团队成员展示该设置在Eclipse中的工作效果。如何使用它来完全控制生成的内容,以及何时和如何生成。
人们经常对变化感到紧张,但当你能向他们展示一个工作解决方案的优点时,他们往往是开放的!
我有一个包含子报表的报表模板; 在主报表中,我有一些参数也应该在子报表中可用。 主报表参数如下定义: 在子报表中,我用相同的名称定义了相同的参数: 我为子报表提供了主报表的参数,如下所示:\
问题内容: 我有3个jar文件和一个依赖于这些jar文件的.java文件。如何使用命令提示符使用这些jar文件编译.java文件? 问题答案: 你可以使用“ -cp”选项将jar文件包含在“ javac”命令中。 除了“ -cp”,你还可以使用“ -classpath” 你可以在每次编译时通过正确设置环境变量“ CLASSPATH”来包含jar。环境变量将存储需要用于编译/执行任何java文件的j
问题内容: 我正在搜索页面,您可以在其中输入搜索查询并将表单提交到。什么PHP函数是最好的,我应该使用它对搜索查询进行编码/解码? 问题答案: 对于URI查询,请使用;对于其他任何事情,请使用/。 和之间的区别是 根据 application/x-www-form-urlencoded编码(空格用编码),而 根据简单的 Percent-Encoding编码 (空格使用编码)。
我试图做到的是,如果我用一个新窗口替换正在渲染的窗口,这可能是因为用户切换屏幕,或从全屏切换到窗口,或出于其他任何原因。 到目前为止,我的代码如下所示: “Context.h” “Context.cpp” "WindowManager. h" “WindowManager.cpp” “Main.cpp” 因此,当前版本的代码应该执行以下操作: 在主监视器上显示全屏窗口 在这个显示器上,显示一个“正
问题内容: 我对使用Spring将对象注入到类中有疑问。我在项目中使用了以下代码: 然后通常在以下方法上使用它: 否则,我在Spring示例中发现了注入构造函数的情况: 所以两者都正确吗?还是每个都有其属性和用法? 问题答案: tl; dr-构造函数注入是执行DI的最佳方法 后者是正确的,并不是因为Spring或任何依赖注入容器,而是面向对象的类设计原则。 细节 应该设计一种类型,以便您只能根据其
使用postgresql 9.5,查询显示错误,为什么? 我试着改变