标签: jar

Gradle - 如何将依赖项打包到 jar 中

我是 gradle 新手。

我有 Java 项目,具有 maven 依赖项和本地 Java 归档依赖项。我想构建一个包含我的代码和所有依赖项的独立 jar。

我试过了

dependencies {
    runtime files(...)
    runtime group ...
}
Run Code Online (Sandbox Code Playgroud)

在我稍后运行程序时使库可用,但它不起作用,它们在运行时不可用......

我也试过这个:

from("$projectDir") {
    include '../lib/**';
}
Run Code Online (Sandbox Code Playgroud)

但没有成功......当我运行它时,java程序找不到依赖项(NoClassDefFoundError)。

java dependencies jar gradle

2
推荐指数
1
解决办法
8610
查看次数

Maven在/WEB-INF/lib文件夹中构建损坏的jar文件

每次我构建我的 maven 项目并运行应用程序时,它都会说

[INFO] 
[INFO] Jan 07, 2015 5:23:37 PM com.google.apphosting.utils.jetty.JettyLogger warn
[INFO] WARNING: Failed to read file: C:\app\target\app-1.0\WEB-INF\lib\datanucleus-jpa-1.1.5.jar
[INFO] java.util.zip.ZipException: error in opening zip file
[INFO]  at java.util.zip.ZipFile.open(Native Method)
[INFO]  at java.util.zip.ZipFile.<init>(ZipFile.java:215)
[INFO]  at java.util.zip.ZipFile.<init>(ZipFile.java:145)
[INFO]  at java.util.jar.JarFile.<init>(JarFile.java:153)
[INFO]  at java.util.jar.JarFile.<init>(JarFile.java:117)
[INFO]  at org.mortbay.jetty.webapp.TagLibConfiguration.configureWebApp(TagLibConfiguration.java:174)
[INFO]  at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1247)
[INFO]  at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
[INFO]  at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
[INFO]  at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
[INFO]  at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
[INFO]  at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
[INFO]  at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
[INFO]  at org.mortbay.jetty.Server.doStart(Server.java:224)
[INFO]  at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
[INFO]  at com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:255)
[INFO]  at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:288)
[INFO]  at …
Run Code Online (Sandbox Code Playgroud)

java google-app-engine jar maven

2
推荐指数
1
解决办法
1160
查看次数

如何获取当前运行的jar的路径和名称?

有很多文件夹可以让您找到正在运行的 jar 所在的文件夹,但是我如何获取正在运行的 jar 呢?例如,如果 foo.jar 在 C:/FOO/foo.jar 中,那么我将如何获得路径 C:/FOO/foo.jar,而不是 C:/FOO。另外,我不知道 A:如果 jar 被移动到不同的文件夹,B:如果我的 jar 被重命名,以及 C:如果在我的同一个文件夹中还有其他 jar。我想获取当前正在运行的 jar 的 File 对象,然后我将使用(以某种方式)用我的程序的新版本替换该 jar。谁能帮我这个?谢谢!编辑:等一下,是否可以在找到目录后扫描它以查找 jar 文件,并在每个 jar 文件中检查我的 jar 中的某个类/其他文件?

java jar

2
推荐指数
1
解决办法
5370
查看次数

Java URLClassLoader ClassNotFoundException

我必须.jar class loader在学校的作业中写一个。我在另一个问题中找到了这段代码,但不知道为什么它不起作用。

我已将路径设置为绝对路径,以确保它引用正确的文件。

System.out.println("Loading game: " + name);
URL url = new URL("file:///home/<name>/Documents/School/thema2.3/batavus/batavus/gamemodules/TicTacToe.jar");
ClassLoader loader = new URLClassLoader(new URL[]{url});
Class<?> clazz = loader.loadClass("spatboard.game." + name);
Class<? extends Game> boardClass = clazz.asSubclass(Game.class);
Constructor<? extends Game> ctor = boardClass.getConstructor();
return ctor.newInstance(board);
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

Loading game: TicTacToe
java.lang.ClassNotFoundException: spatboard.game.TicTacToe
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at spatbord.loader.GameLoader.loadModule(GameLoader.java:29)
at spatbord.model.Board.<init>(Board.java:51)
at spatbord.controller.GameController.onMatchStarted(GameController.java:157)
at spatbord.connection.Server.matchStarted(Server.java:428)
at spatbord.connection.Server.handleInput(Server.java:346)
at spatbord.connection.Server.run(Server.java:145)
at java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud)

中的包声明TicTacToepackage spatbord.game;

罐子的内容是:

spatbord
 -> game
  -> TicTacToe.class
Run Code Online (Sandbox Code Playgroud)

我在这里看不到什么?

java jar classloader

2
推荐指数
1
解决办法
3万
查看次数

无法运行从 Scala 文件创建的 jar 文件

这是我用 Scala 编写的代码。

object Main extends App {
    println("Hello World from Scala!")
}
Run Code Online (Sandbox Code Playgroud)

这是我的build.sbt

name := "hello-world"
version := "1.0"
scalaVersion := "2.11.5"
mainClass := Some("Main")
Run Code Online (Sandbox Code Playgroud)

这是我运行以创建 jar 文件的命令。

sbt package
Run Code Online (Sandbox Code Playgroud)

我的问题是在target/scala-2.11创建了一个名为hello-world_2.11-1.0.jar的 jar 文件。但我无法运行该文件。它给了我一个错误,说NoClassDefFoundError

我究竟做错了什么?

scala jar build sbt

2
推荐指数
1
解决办法
2442
查看次数

MQTT v1.0.2 罐子

我正在寻找 org.eclipse.paho.client.mqttv3-1.0.2.jar。目前我只能通过 pom.xml 和 maven 获取库。这很好,但是我需要放置 JAR 的系统不能使用 maven/eclipse repo。我查看了目录,但在其中找不到 JAR。

有什么地方可以直接下载 JAR 吗?

答:https : //repo.eclipse.org/content/repositories/paho/org/eclipse/paho/org.eclipse.paho.client.mqttv3/1.0.2/org.eclipse.paho.client.mqttv3-1.0。 2.jar

<repositories>
    <repository>
        <id>Eclipse Paho Repo</id>
        <url>https://repo.eclipse.org/content/repositories/paho-releases/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>org.eclipse.paho</groupId>
        <artifactId>org.eclipse.paho.client.mqttv3</artifactId>
        <version>1.0.2</version>
    </dependency>
 </dependencies>
Run Code Online (Sandbox Code Playgroud)

java jar mqtt

2
推荐指数
1
解决办法
7099
查看次数

如何从java中的jar文件创建.exe?

我们创建jar了我们项目的文件。Jar文件名是stock.jar,在dist文件夹中:lib文件夹,一个stock.jarstock.sqlite

现在我们要创建.exe数据库和lib文件夹 jars。

java exe jar

2
推荐指数
1
解决办法
1万
查看次数

带有 request.jar 的 node.js cookie

我正在抓取一个需要身份验证的网站。我正在使用 node.js 并请求一个 jar 来存储 cookie。

我的问题:我有两条路由 /login 和 /api,当我登录网站时,我将 cookie 存储在登录路由/文件中,然后我如何在 /api 中使用相同的 cookie?

        login.js:

        var request = require('request');
        var jar = request.jar();

        var payload = querystring.stringify({
            username: username,
            password: password,
            request_token: token,
        });

        var options = {
            ..
            ..
            method: 'POST',
            body: payload,
            jar: jar <---------- Valid cookie
        };

       request(options, function (error, response, body) {
            // Code here
        });


       --------------------------------

        api.js:

        var request = require('request');
        var jar = request.jar();

           var options = {
            method: "get",
            url: baseUrl,
            jar: …
Run Code Online (Sandbox Code Playgroud)

authentication cookies jar request node.js

2
推荐指数
1
解决办法
8876
查看次数

无法在 jar 中加载资源

我正在尝试在 jar 中加载资源,这是导出的 jar: 在此处输入图片说明

'main' 是我所有类的包,在其中一个类中,我试图加载 background.png 文件。在我的 Eclipse 项目中,我将资源放在“res/”文件夹下,我将其添加到构建路径中以包含它。当我尝试使用

新文件(“背景.png”);

它找不到文件。当我使用

MyClass.class.getClass().getClassLoader().getResource("background.png");

它仍然找不到文件。

java zip export jar

2
推荐指数
1
解决办法
1837
查看次数

Java 错误:请安装 JCE Unlimited Strength Jurisdiction Policy 文件

我正在开发这个 Java 应用程序,它需要访问“JCE Unlimited Strength”文件,并且我确实安装了它们,并且在我构建解决方案(在 Intellij 中)时它可以正常工作但是当我jar输出时,由于某种原因它给出我这个烦人的错误:

C:\Users\h\whatever\out\artifacts\Accepter_jar>java -cp Accepter.jar Main
org.apache.poi.EncryptedDocumentException: Export Restrictions in place - please install JCE Unlimited Strength Jurisdic
tion Policy files
        at org.apache.poi.poifs.crypt.CryptoFunctions.getCipher(CryptoFunctions.java:208)
        at org.apache.poi.poifs.crypt.CryptoFunctions.getCipher(CryptoFunctions.java:182)
        at org.apache.poi.poifs.crypt.agile.AgileDecryptor.hashInput(AgileDecryptor.java:269)
        at org.apache.poi.poifs.crypt.agile.AgileDecryptor.verifyPassword(AgileDecryptor.java:116)
        at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:95)
        at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:282)
        at ExcelJob.loadExcelSheet(ExcelJob.java:22)
        at Main.main(Main.java:17)
Run Code Online (Sandbox Code Playgroud)

知道有什么问题吗?

java jar jce

2
推荐指数
1
解决办法
8144
查看次数