问题标签 [jar-with-dependencies]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
208 浏览

java - 为什么 maven-assembly-plugin 描述符在其示例站点中说?

maven-assembly-plugin 一直让我感到奇怪的是,apache 网站上的jar-with-dependencies 示例文件有一条关于 jarjar 格式的 TODO 注释。

这只是一个不断被无限复制的代码工件,还是示例文件上的 TODO 背后有一些实际原因?

0 投票
1 回答
1289 浏览

maven - Maven:有依赖关系的 jar VS 没有依赖关系的 jar

我目前在一个Java项目中工作,我们使用maven来构建最终的jar。众所周知,构建 jar 的方法有两种,一种是带有依赖项的单个 jar,另一种是没有依赖项的 jar。在后一种情况下,我们还需要将依赖 jar 添加到类路径中。

原则上两者都可以工作,我个人更喜欢一个有依赖关系的 jar,但在项目团队成员决定使用单独的 jar 没有依赖关系。所以在此我想知道哪个选择更好?

0 投票
3 回答
65 浏览

java - Why aren't the Dependencies of a Jar listed in its Manifest

It seems to me that it would be really useful to have the dependencies of a jar listed in its Manifest, possibly as an optional field. Without this feature, it is near impossible to know what a jar depends on, without finding it on the web somewhere, or using a dependency management tool, or something along those lines. Now that everyone is using the whole artifact ID, group ID, version convention, I would imagine this would greatly simplify the tools needed to setup a project.

I find myself needing to use maven more than I would like to because it's such a hassle to figure out if something needs Apache commons or logging or whatever the case may be, why not just have the jars listed in some Manifest Field?

0 投票
1 回答
2946 浏览

spring-boot - Spring Boot 网络服务器在 Eclipse 中工作正常,无法在服务器上启动:缺少 EmbeddedServletContainerFactory bean

按照Spring Documentation的模型,我创建了一个非常简单的 Hello World 类应用程序。它在 Eclipse 上旋转,一切看起来都很棒。甜的!我运行它并可以浏览到 URL。有史以来最快的发展。

但这必须在服务器上运行,并且查看 jar,它只有大约 4K,所以我知道如果没有一堆类路径配置,它是行不通的。为了避免这种情况,我想我需要一个 jar-with-dependencies jar。

所以这是我的 pom.xml,除了为程序集插件添加 jar-with-dependencies 目标外,基本上与 Spring 示例中的相同。

但是当我去运行这个东西时:

我得到:

org.springframework.context.ApplicationContextException:无法启动嵌入式容器;嵌套异常是 org.springframework.context.ApplicationContextException:由于缺少 EmbeddedServletContainerFactory bean,无法启动 EmbeddedWebApplicationContext。

我不认为它应该有任何区别,但这是这个项目中的一个(也是唯一一个)类:

我做错了什么?

0 投票
1 回答
2947 浏览

java - 使用 Maven 重命名一个胖罐子

当我创建一个 jar 文件时,我想适应我的依赖项。为此,我使用maven-assembly-plugin如下:

这段代码工作正常,它完成了预期的工作。但是,这会创建一个名为myjar-GUI-jar-with-dependencies.jar. 我想消除那个“jar-with-dependencies”结尾。有人知道该怎么做吗?

我已经使用了您可以在我的代码中看到的注释行,但这会产生以下警告,我不知道如何解决它:


已编辑

在用户 Tunaki 建议的解决方案之后,我使用了不同的插件,并且 maven 可以按照我的意愿工作。代码如下:

0 投票
0 回答
763 浏览

java - Android Studio - 为标准 Java 项目创建具有依赖项的 JAR 文件

我正在构建一个标准的 java 项目,而不是一个 android 项目。

它使用 Google 的 Gson 库。有没有办法为这个项目创建一个 JAR 文件,同时维护对 Gson 库的依赖关系?如果我提出的问题是错误的,请纠正我。

我的模块的 build.gradle 如下所示:

我使用此处的说明创建了一个 JAR 文件,但是当我使用“java -jar myproject.jar”从命令行运行它时,我收到此错误:

在 myproject.jar 中没有主要清单属性

我尝试寻找解决方案,但似乎没有办法创建具有依赖关系的 JAR 文件,尽管上面的链接非常新。在这种情况下,似乎我必须制作一个 AAR 文件。

但是由于我的是一个java项目而不是android,这仍然适用吗?

谢谢。

编辑:根据此视频,我的 Manifest.MF 文件缺少“Main-Class:MyMainClassName”行。从 JAR 修改文件会损坏它。而且我无法从 android studio 中编辑清单文件。关于如何改变这一点的想法?

0 投票
2 回答
1656 浏览

java - Maven 构建一个 jar 并在 JAR 中解包依赖项

我对球衣 2.14 和嵌套罐子有问题,我想不通。我查了一下,结果发现它是球衣的一个错误,目前仍在修复中。

作为一种解决方法,我希望能够使用 maven 构建一个 jar,并将所有依赖项解包到我的 jar 中。我不想在 lib 目录中有 JAR,我想要类。而且我似乎无法弄清楚要使用的 maven 插件。

谁能帮我解决这个问题?

谢谢,

0 投票
1 回答
123 浏览

maven - 将应用程序打包到 jar 时,Jetty 无法找到 REST 类

当我直接在 Eclipse 中使用嵌入式 Jetty 服务器启动我的应用程序时,我可以访问我的 REST API,例如在“localhost:8082/getModules”上,一切正常。但是,如果我从我的应用程序创建 jar-with-dependencies,在导航到“localhost:8082/getModules”后,我会得到

HTTP 错误:404 访问 /database/getModules 时出现问题原因:未找到

我在控制台中找到了登录,当 GET 请求到来时显示,它说找不到 servlet 容器,并且在该响应设置为 HTTP 404 之后找不到:

我认为问题出在 getJersey() 方法中:

或者问题可能出在 pom.xml 中:

那么我怎样才能正确设置链接到我的休息类呢?

0 投票
1 回答
1628 浏览

java - 区别:Maven 组装:组装与组装:单一目标?

我正在尝试构建一个alexa-app,其中包含一些注释驱动的依赖注入(dagger 2)代码。alexa-sample-skills-test给出了示例 pom 并指示使用以下命令构建具有依赖项的 jar。

使用上述方法构建失败,出现此链接中列出的异常和输出。在深入研究maven docs之后,我发现 assembly:assembly 目标使用了可能造成严重破坏的非标准构建过程。相反,maven assembly-plugin 文档建议使用 assembly:single 目标。因此,我改用以下命令:

瞧.. 代码编译和链接很顺利。我得到一个 [project-name]-jar-with-dependencies.jar 文件。但是,当我在亚马逊服务器上传jar并尝试测试技能时,测试失败。日志说找不到类:echo.client.AccountInfoStreamHandler (ClassNotFoundException)。我想这个类只是发生在一个根启动器类上。

现在,我删除了所有 dagger 2 依赖项,并使用最简单的代码库重复相同的操作。第一个 Maven 命令(程序集:程序集)有效。第二个 maven 命令 (assembly:single) 失败并出现相同的“ClassNotFoundException”错误。我究竟做错了什么?我对maven不太熟悉,这真的是我第一次尝试对maven命令进行故障排除。非常感谢任何建议,指针,建议。

作为参考,POM 文件如下:

0 投票
1 回答
2381 浏览

maven - 使用 maven-assembly-plugin 创建 uber jar 时 Jersey 失败

我创建了一个 maven jersey starter webapp。我还在我的应用程序中使用码头插件嵌入了码头服务器。

当我使用 mvn jetty:run 命令运行我的项目时,我的项目运行良好。

但是,当我使用 mvn clean package 命令打包我的项目并运行名称为 jar-with-dependencies 的 jar 文件时,项目会在从球衣资源返回 json 响应时抛出此异常。

严重:找不到媒体类型 = 应用程序/json、类型 = 类 com.nitish.freecharge.model.Count、通用类型 = 类 com.nitish.freecharge.model.Count 的 MessageBodyWriter。

这是我的 pom.xml 文件

http://maven.apache.org/maven-v4_0_0.xsd">

我在默认包中创建了我的主驱动程序类作为 App.java。这是我的 App.java 内容

这是我在启动服务器后访问我的项目 url 时执行的唯一球衣资源类:

使用命令 java -jar awesomeProject.jar 打包并运行完整的嵌入式项目后

我在服务器提示符上得到这个输出

在此处输入图像描述

我已经尝试了很多,但无法以解决此问题的方式打包我的嵌入式 web 应用程序。我是 Maven 和包装的新手。请在我犯错的地方提供帮助。