java.lang.NoClassDefFoundError:com/google/gson/Gson

2023-12-12

我注意到一个奇怪的问题。我可以使用 Junit 运行我的测试用例,但是当我使用 maven 运行时,其中一个测试用例失败。它抱怨没有找到 Gson 类 def。

我可以在 Maven 依赖项中看到 Gson jar。

所以我怀疑类路径不包括Gson。所以我用 -X 运行 Maven 并注意到一些线索。

[DEBUG] Could not find metadata com.example.libraries:Symbology:1.0.0-SNAPSHOT/maven-metadata.xml in local (C:\Users\ra\.m2\repository)
[DEBUG] Skipped remote update check for com.example.libraries:Symbology:1.0.0-SNAPSHOT/maven-metadata.xml, locally cached metadata up-to-date.
[DEBUG] Could not find metadata com.example.libraries:Symbology:1.0.0-SNAPSHOT/maven-metadata.xml in local (C:\Users\ra\.m2\repository)
[DEBUG] Skipped remote update check for com.example.libraries:Symbology:1.0.0-SNAPSHOT/maven-metadata.xml, locally cached metadata up-to-date.
[WARNING] The POM for com.example.libraries:Symbology:jar:1.0.0-SNAPSHOT is invalid, transitive dependencies (if any) will not be available: 2 problems were encountered while building the effective model for com.example.libraries:Symbology:1.0.0-SNAPSHOT
[ERROR] 'dependencies.dependency.artifactId' for ::jar is missing. @ 
[ERROR] 'dependencies.dependency.groupId' for ::jar is missing. @ 

我有一个项目依赖于 Symbology 项目,而该项目又使用 Gson。 但现在从这个日志中我看到传递依赖项没有被包含在内。所以没有找到 Gson 类。

这是符号学 pom:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.example.libraries</groupId>
<artifactId>Symbology</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>jar</packaging>

<name>Symbology</name>
<url>http://maven.apache.org</url>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.10</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.1</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.16</version>
    </dependency>
</dependencies>

这是我的项目的 Pom,它调用了符号系统:

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.example.libraries</groupId>
<artifactId>FGF</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>jar</packaging>
<distributionManagement>
    <snapshotRepository>
        <id>example.com</id>
        <name>example.com-snapshots</name>
        <url>http://example/artifactory/libs-snapshots-local</url>
    </snapshotRepository>
</distributionManagement>

<name>FGF</name>
<url>http://maven.apache.org</url>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.10</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.16</version>
    </dependency>
    <dependency>
        <groupId>com.example.libraries</groupId>
        <artifactId>Category</artifactId>
        <version>1.0.0-SNAPSHOT</version>
    </dependency>
    <dependency>
        <groupId>com.example.libraries</groupId>
        <artifactId>Time</artifactId>
        <version>1.0.0-SNAPSHOT</version>
    </dependency>
    <dependency>
        <groupId>com.example.libraries</groupId>
        <artifactId>Display</artifactId>
        <version>1.0.0-SNAPSHOT</version>
    </dependency>
    **<dependency>
        <groupId>com.example.libraries</groupId>
        <artifactId>Symbology</artifactId>
        <version>1.0.0-SNAPSHOT</version>
    </dependency>**
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>3.2.0.BUILD-SNAPSHOT</version>
    </dependency>
    <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib</artifactId>
        <version>2.2.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.directory.studio</groupId>
        <artifactId>org.apache.commons.lang</artifactId>
        <version>2.6</version>
    </dependency>       

</dependencies>

花了很多时间终于解决了问题。

问题是当我将符号系统工件推送到存储库时,它并没有将 pom 推送到存储库中。因此,当我使用符号系统工件作为依赖项时,我的项目无法知道什么是传递依赖项。

所以我将我的 pom 与 jar 一起推送到存储库中,现在它能够获取所有依赖项。

万岁呀呀呀呀呀呀呀呀呀呀呀呀呀呀!!!!!!!!!!!!!!!!!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java.lang.NoClassDefFoundError:com/google/gson/Gson 的相关文章

  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • 在 Jar 文件中运行 ANT build.xml 文件

    我需要使用存储在 jar 文件中的 build xml 文件运行 ANT 构建 该 jar 文件在类路径中可用 是否可以在不分解 jar 文件并将 build xml 保存到本地目录的情况下做到这一点 如果是的话我该怎么办呢 Update
  • 在 Bash 中监控 tomcat,直到它完成部署 war 或应用程序

    怎么可能Tomcat在 bash 脚本中进行监控以检测它是否完成了战争或应用程序的部署 应用场景 Tomcat 开始于systemd Tomcat 开始于catalina sh 使用 Tomcat 管理器 Tomcat从Eclipse启动
  • Java 公历日历更改时区

    我正在尝试设置 HOUR OF DAY 字段并更改 GregorianCalendar 日期对象的时区 GregorianCalendar date new GregorianCalendar TimeZone getTimeZone GM
  • 将流转换为 IntStream

    我有一种感觉 我在这里错过了一些东西 我发现自己做了以下事情 private static int getHighestValue Map
  • 无法创建请求的服务[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]-MySQL

    我是 Hibernate 的新手 我目前正在使用 Spring boot 框架并尝试通过 hibernate 创建数据库表 我知道以前也问过同样的问题 但我似乎无法根据我的环境找出如何修复错误 休眠配置文件
  • Eclipse Maven Spring 项目 - 错误

    I need help with an error which make me crazy I started to study Java EE and I am going through tutorial on youtube Ever
  • Hibernate 的 PersistentSet 不使用 hashCode/equals 的自定义实现

    所以我有一本实体书 public class Book private String id private String name private String description private Image coverImage pr
  • java for windows 中的文件图标叠加

    我正在尝试像 Tortoise SVN 或 Dropbox 一样在文件和文件夹上实现图标叠加 我在网上查了很多资料 但没有找到Java的解决方案 Can anyone help me with this 很抱歉确认您的担忧 但这无法在 Ja
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 我如何在java中读取二进制数据文件

    因此 我正在为学校做一个项目 我需要读取二进制数据文件并使用它来生成角色的统计数据 例如力量和智慧 它的设置是让前 8 位组成一个统计数据 我想知道执行此操作的实际语法是什么 是不是就像读文本文件一样 这样 File file new Fi
  • 找不到符号 NOTIFICATION_SERVICE?

    package com test app import android app Notification import android app NotificationManager import android app PendingIn
  • 包 javax.el 不存在

    我正在使用 jre6 eclipse 并导入 javax el 错误 包 javax el 不存在 javac 导入 javax el 过来 这不应该是java的一部分吗 谁能告诉我为什么会这样 谢谢 米 EL 统一表达语言 是 Java
  • 在java中为组合框分配键

    我想添加一个JComboBox在 Swing 中这很简单 但我想为组合中的每个项目分配值 我有以下代码 JComboBox jc1 new JComboBox jc1 addItem a jc1 addItem b jc1 addItem
  • 使用 svn 1.8.x、subclise 1.10 的 m2e-subclipse 连接器在哪里?

    我读到 m2e 的生产商已经停止生产 svn 1 7 以外的任何版本的 m2e 连接器 Tigris 显然已经填补了维护 m2e subclipse 连接器的空缺 Q1 我的问题是 使用 svn 1 8 x 的 eclipse 更新 url
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类
  • Spring Boot 无法更新 azure cosmos db(MongoDb) 上的分片集合

    我的数据库中存在一个集合 documentDev 其分片键为 dNumber 样本文件 id 12831221wadaee23 dNumber 115 processed false 如果我尝试使用以下命令通过任何查询工具更新此文档 db
  • java.lang.OutOfMemoryError:Scala 上超出了 GC 开销限制

    我是 Scala 开发人员 我在Routes它包含的文件1008行如果我添加另一行 则会抛出下面的错误 Uncaught error from thread sbt web scheduler 1 shutting down JVM sin
  • Spring Rest 和 Jsonp

    我正在尝试让我的 Spring Rest 控制器返回jsonp但我没有快乐 如果我想返回 json 但我有返回的要求 完全相同的代码可以正常工作jsonp我添加了一个转换器 我在网上找到了用于执行 jsonp 转换的源代码 我正在使用 Sp
  • Java中super关键字的范围和使用

    为什么无法使用 super 关键字访问父类变量 使用以下代码 输出为 feline cougar c c class Feline public String type f public Feline System out print fe

随机推荐

  • 使用 Html Agility Pack 从 html 中抓取所有文本

    Input p foo a href http www example com bar a baz p Output foo bar baz 我知道htmldoc DocumentNode InnerText 但它会给foobarbaz 我
  • Outlook ItemAdd 事件未一致触发

    我正在尝试确定收到的邮件是否是垃圾邮件 Itemadd 事件仅有效一次 它不会持续触发 我该如何解决这个问题 我做以下事情 public partial class ThisAddIn private void ThisAddIn Star
  • 使解决方案中的每个 csproj 面向不同的 C# 版本

    我有一个包含五个 C 控制台应用程序项目的解决方案 我希望每个项目都针对不同版本的 C MyLearningSolution sln CSharp01 csproj CSharp02 csproj CSharp03 csproj CShar
  • 字符串文字和字符串对象相加的区别

    字符串文字和字符串对象相加有什么区别 例如 String s1 hello String s2 hello1 String s3 hello hello1 String s4 hellohello1 String s5 s1 s2 Syst
  • java.io.StreamCorruptedException:读取超过 1 个对象时格式错误[重复]

    这个问题在这里已经有答案了 我正在尝试添加一个对象 OneChatMessage每次单击按钮时都会将其保存到一个文件中 然后我尝试从文件中读取所有对象并将其加载到ArrayList 但我得到一个StreamCorruptedExceptio
  • 建议设计:应用程序中几乎每个对象都有记录器

    我正在写一个应用程序 我使用 NLog 进行日志记录 在这个应用程序中 几乎每个对象都可以写入日志 我为此定义了受保护的成员 protected Logger logger protected virtual Logger Logger g
  • VSTS Rest API - 创建版本

    我想利用此处定义的 VSTS Rest API 开始发布 https www visualstudio com en us docs integrate api rm releases create a release 但我需要在创建版本时
  • 框架 CFBundleIdentifier 碰撞

    我使用 Cocoa Touch Framework 制作了一个自定义 SDK 按照这些说明进行制作https kodmunki wordpress com 2015 03 04 cocoa touch frameworks for ios8
  • 如何在 for...循环中使用 setTimeout

    我想要的是这个 新闻行情类型功能 从 ul 标签获取 li 列表 循环遍历所有li并获取文本 通过 firefox console log 在控制台中显示文本 获取下一个 li 并重复 直到显示所有 li 这就是目标 但是 setTimeo
  • 找到大小为 k 的子集,使得值之间的最小距离最大

    假设我有一个数组 其中包含n整数 如何找到尺寸的子集k使得minimum子集中所有整数对之间的距离为maximized 我的意思是他们距离最远 示例 数组a 1 2 6 7 10 and k 3 subset 1 6 10 最小距离为410
  • v8 术语中 merge、phi、effectphi 和 dead 的含义

    我正在尝试阅读 v8 源代码 特别是其中的编译器部分 以更好地理解优化和缩减过程 以便查找错误 我遇到了评论中使用的一些术语 但似乎无法解释 评论是这样的 Check if this is a merge that belongs to a
  • 更改工具栏中的图标颜色

    我正在使用 Android 组件navigation for a DrawerLayout with NavigationView public class MainActivity extends AppCompatActivity pr
  • 解析推送通知在 Android 上不起作用

    我正在为我的 Android 应用程序使用解析推送通知 我按照教程下载 jar 文件 然后将其导入到我的项目中 并将此代码添加到我的清单中
  • 我的路由如何使用 ASP MVC3 在 URL 中间使用可选参数?

    我希望我的 URL 使用以下约定 controller id action 而不是 controller action id 我尝试按如下方式设置路线 routes MapRoute Campaign controller action i
  • kotlin协程使用withContext获取非阻塞代码时withTimeout不会取消

    我正在使用 withContext 将函数转换为不会阻塞调用线程的挂起函数 为此我使用了https medium com elizarov blocking threads suspending coroutines d33e11bf476
  • 如何将https重定向到新域?

    我重新开发了公司网站 但在重定向 SSL 方面遇到了一些问题 键入或单击http olddomain org重定向到https newdomain com 但是 输入或单击链接https olddomain org不重定向到https ne
  • JComponent JPanel 缩放、平移和坐标问题

    我有一个JPanel带有用户可以缩放和平移的矢量图像 覆盖此图像的是 透明 JComponent 我允许用户注释底层图像 这在全尺寸下效果很好 但是如果我放大 使用AffineTransform 重叠坐标也会受到影响 因此 如果用户在图像上
  • Ember 没有获得某些属性

    当从以下位置运行以下命令时UserController在 Google Chrome 上 ember couchdb kit 0 9 余烬数据v1 0 0 beta 3 56 g8367aa5 Ember v1 0 0 and 这个 cou
  • C++ 搜索性能

    我有两个文本文件 其中包含大约 70 000 个姓名的列表 1 5MB 另一个包含将从各种来源获得的文本 也就是说 每次执行程序时 该文件的内容都会发生变化 0 5MB 本质上 我希望能够将一些文本粘贴到文本文件中 并查看在我的列表中找到了
  • java.lang.NoClassDefFoundError:com/google/gson/Gson

    我注意到一个奇怪的问题 我可以使用 Junit 运行我的测试用例 但是当我使用 maven 运行时 其中一个测试用例失败 它抱怨没有找到 Gson 类 def 我可以在 Maven 依赖项中看到 Gson jar 所以我怀疑类路径不包括Gs