我是jetbrains产品的忠实粉丝,并且是我所有Java开发的intellij(社区版)用户.然而,我真的想念日食的一个特征.在eclipse中,如果我有一堆jarfile依赖项,我可以在我的runnable jar文件中重新打包它们,所以所有依赖项都包含在一个jar文件中.
我找不到任何可以在intellij中完成任务的东西,所以我被迫从intellij导出我的项目到eclipse格式,在eclipse中修复项目配置(因为intellij在导出时做的不是很好)然后构建我的来自日食的jarfiles.
我无法理解错误背后的原因.我想将.class文件转换为jar文件,
在我写道:
java cf myjar.jar*.class
但这是我得到的回报:
错误:无法在线程"main"java.lang.NoClassDefFoundError中找到主类cf Exception:cf
---并继续,,,,
为什么我得到这个错误,它是什么?
我试图列出tar中的所有文件,包括jar中的文件.
如何在Java或其他api中使用truezip来完成此操作?
谢谢
他在那里,
现在已经卡住了一段时间.我试图做的事情归结为:
来源:
InputStream in = ClassLoader.getSystemResourceAsStream("json2/json.js");
Run Code Online (Sandbox Code Playgroud)
当我在tomcat中运行它时(in == null).
对于诊断,我即兴创作了以下内容:
File fu = new File(new URI(this.getClass().getClassLoader().getResource("").toString()));
String[] l = fu.list();
for (int i = 0; i < l.length; i++) {
System.out.println(i+"||"+l[i]);
}
Run Code Online (Sandbox Code Playgroud)
使用经典的java-class,它只生成我的main-class-file.在tomcat中它显示了"tomcat/lib"目录的内容.
有任何想法吗?我将不胜感激......
编辑
我忘记添加的一个细节(这真的磨齿):
SParser.class.getClassLoader().getParent().getResource("")
Run Code Online (Sandbox Code Playgroud)
想出了一个null-ptr.跆拳道?我没有访问特定的资源,仍然没有结果.
我想调用一个包含在可执行Jar文件中的.exe文件.以下是应该调用.exe文件的主类.
import java.io.File;
public class TriggerApp{
public static void main(String[] args)
{
try
{
Runtime rt=Runtime.getRuntime();
rt.exec("MoreComplexUI.exe");
}
catch(Throwable t)
{
System.out.print(t.getMessage());
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是行不通的.此Jar文件包含运行.exe的其他支持文件
我已经在eclipse中将项目导出到可运行的JAR中.我的代码中有一些地方我已经完成了以下操作.
String file = "src/Files/...";
loadFile(file); // purely for example
Run Code Online (Sandbox Code Playgroud)
既然项目是JAR的形式,那些目录似乎不存在,加载这些文件失败.我很确定我引用的文件是打包在JAR中的.导出到JAR时,目录是否以任何特定方式更改?关于如何使这项工作的任何其他想法?
是否有可能从同一个罐子中启动两个不同的应用程序?我编写了简单的客户端服务器,客户端和服务器部分都在一个JAR中.他们使用一些常见的类.
我明白,我可以为客户端和服务器创建单独的jar,并将常用的类和资源放入第三个jar中.这实际上是做事的"正确"方式.但我的任务很简单,课程很小,我只是不想制作三个罐而不是一个.
java -jar需要清单中的Main-Class.似乎没有-jar开关我也无法工作.
顺便说一下,客户端和服务器应该能够并行运行.
我需要一些澄清; 我有一个我建立的jar,在jar里面它有一个application-context.xml我需要加载的自定义文件.我在jar内的类中加载文件.当我设置这个application-context.xml的url时,是我的jar的类路径特有的目录,还是使用jar-classpath的项目?
例如 -
Jar的类路径:
src > main > META-INF > application-custom-context.xml
Run Code Online (Sandbox Code Playgroud)
项目的类路径:
src > Libraries > myjar.jar > src > main > META-INF > application-custom-context.xml
Run Code Online (Sandbox Code Playgroud)
我知道这些网址不准确:P - 但是,在我的上下文创建中,我会遵循哪个目录结构.这都是理论上的.今天有人问我这个,我不知道怎么回答.我认为如果你从一个jar调用一个类,类路径应该相对于那个jar的内容..但是,我认为远非总是正确的:)
我有问题从jar运行主类.
Ant脚本生成了以下文件夹:
MyProject(Somewhere in C:)
|
|
|____configuration(this contains properties/XML file)
|
|____dist(contains MyProject.jar)
|
|____lib(contains all other jars)
|
|____run(contains batch file to run MyProject.jar)
Run Code Online (Sandbox Code Playgroud)
在内部运行文件夹中,我有一个批处理文件,其内容如下:
java -jar ../dist/MyProject.jar;../lib/*.jar com.my.test.MainTest
Run Code Online (Sandbox Code Playgroud)
有人可以指导我.我只想去运行文件夹并双击.bat文件并运行应用程序.
我正进入(状态
Exception in thread "main" java.lang.NoClassDefFoundError: MyProject/jar
Run Code Online (Sandbox Code Playgroud)
更新
新的错误是:
The java class is not found: com.microsoft.sqlserver.jdbc.SQLServerException
Run Code Online (Sandbox Code Playgroud)
谢谢...
我正在开发一个涉及servlet的项目.使用JD Java Decompiler for Eclipse我可以反编译并读取构成参考库中jar的所有类文件.是否可以以类似的方式读取WAR文件的内容?
另外,有没有办法打破可执行jar文件并读取原始代码?