nexus3手动上传jar文件(包括不可执行jar打包配置)

2023-11-09

前言

最近用nexus3管理工具jar包时,发现多模块依赖引用找不到依赖包,依赖包不会关联下载,一直以为是打包的问题,还尝试着把所有依赖都打进工具jar中,结果都无法正常启动项目,最后才发现是pom的问题,下面记录我的解决方案
举个例子:
在这里插入图片描述

一、不可执行jar打包配置

一般jar包分为可执行jar和不可执行jar,可执行jar需要指定main且依赖需要一起打包,通过java -jar命令即可运行。而不可执行jar一般用作SDK包,只打包当前代码;打包配置如下(不需要其他plugin):

 <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

二、nexus3手动上传

1.首先上传jar文件,操作如下图
在这里插入图片描述
2.如果该jar包还有其他依赖,那么需要上传pom.xml文件,通过点击add another asset 增加,操作如下
在这里插入图片描述
3.然后进入仓库中查看,
在这里插入图片描述
4.通过勾选Generate a POM file with these coordinates生成的pom和通过上传文件的pom区别
(1)勾选Generate a POM file with these coordinates生成如下:

<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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.wugui</groupId>
	<artifactId>datax-core</artifactId>
	<version>2.1.2</version>
	<packaging>jar</packaging>
</project>

(2)上传的pom,可包括很多信息,如下:

<?xml version="1.0" encoding="UTF-8"?>
<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.wugui</groupId>
    <artifactId>datax-core</artifactId>
	<version>2.1.1</version>
    <packaging>jar</packaging>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <!-- xxl-rpc-core -->
        <dependency>
            <groupId>com.wugui</groupId>
            <artifactId>datax-rpc</artifactId>
            <version>2.1.1</version>
        </dependency>
        <!-- groovy-all -->
        <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy</artifactId>
            <version>2.5.8</version>
        </dependency>
      ......
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

总结

首先,打包要打成不可执行jar包;
其次,jar如果有其他依赖,一定要单独上传pom.xml文件,否则关联依赖无法拉取
最后,本文章主要是工作记录,如有不足之处,望见谅!

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

nexus3手动上传jar文件(包括不可执行jar打包配置) 的相关文章

  • 是否可以在 Spring Batch 中结合分区和并行步骤?

    我只是想知道它在 Spring Batch 中可行吗 Step1Step2 流程 gt 流程1 流程2 流程3 Step3 其中每个flow1 gt 划分为 5 个 GridSizeflow2 gt 划分为 5 个 GridSizeflow
  • 如何在 Eclipse 中用阿拉伯语读写

    我在 eclipse 中编写了这段代码来获取一些阿拉伯语单词 然后打印它们 public class getString public static void main String args throws Exception PrintS
  • 检查双精度值的等于和不等于条件

    我在比较两者时遇到困难double values using and 我创建了 6 个双变量并尝试进行比较If健康 状况 double a b c d e f if a b c d e f My code here in case of t
  • 如何从另一个xml文件动态更新xml文件?

    我想从另一个 xml 文件更新 xml 文件 我使用了一个 xml 文件 如下所示 one xml
  • 使用 Checkstyle Plugin 时从插件调用代码时出现问题:“org.eclipse.jface”

    我正在尝试在 Rational Software Architect 7 0 0 4 上使用 eclipse cs 插件 我最近卸载了旧的 beta2 版本并安装了 beta3 插件本身按照之前的配置工作 但是每当我尝试通过 Windows
  • JTree 节点不会被直观地选择

    不知何故 我无法为我的 JTree 节点启用 选择突出显示 我正在我的项目中使用自定义单元格渲染器 这很可能导致此问题 这是完整的渲染器类代码 protected class ProfessionTreeCellRenderer exten
  • 无法加载 jar 文件的主类

    我使用 Eclipse IDE 开发了一个应用程序 创建应用程序后 我以 jar 格式导出项目 当我尝试运行此 jar 文件时 出现错误 无法加载主类 请帮忙 当您将项目导出为 jar 时 请参阅此所以问题 https stackoverf
  • 有没有好的方法来解析用户代理字符串?

    我有一个Java接收模块User Agent来自最终用户浏览器的字符串的行为需要略有不同 具体取决于浏览器类型 浏览器版本甚至操作系统 例如 FireFox 7 0 Win7 Safari 3 2 iOS9 我明白了User Agent由于
  • MI设备中即使应用程序被杀死,如何运行后台服务

    您好 我正在使用 alaram 管理器运行后台服务 它工作正常 但对于某些 mi 设备 后台服务无法工作 我使用了服务 但它无法工作 如何在 mi 中运行我的后台服务 MI UI有自己的安全选项 所以你需要的不仅仅是上面提到的粘性服务 你需
  • Java替换特定字符

    这是我在这个网站上的第一个问题 所以我会尽量不要成为一个十足的菜鸟 我目前正在用java 创建刽子手游戏 所以我问你的问题是我们是否被赋予了 幽灵 这个词 并将 Ghost 替换为 hiddenWord ghost length for i
  • Install4j:如何在安装结束时执行命令行 java -jar filename.jar

    在 Intall4j 中 在安装结束时 我只想通过执行如下命令行来初始化某些内容 java jar filename jar 我怎样才能归档这个任务install4j Thanks 将 运行可执行文件或批处理文件 操作添加到 安装屏幕 并设
  • 从 Java 日历迁移到 Joda 日期时间

    以前 当我第一次设计股票应用相关软件时 我决定使用java util Date表示股票的日期 时间信息 后来我体会到了大部分方法java util Date已弃用 因此 很快 我重构了所有代码以利用java util Calendar 然而
  • 不兼容的类型:在 java netbeans 中对象无法转换为 String

    我试图在我的项目中使用对象数组 但出现错误 incompatible types Object cannot be converted to String 在这一行 ST1 new String emt1 emt2 emt3 emt4 现在
  • 使用 Java 从 S3 上的文件在 S3 上创建 zip 文件

    我在 S3 上有很多文件 需要对其进行压缩 然后通过 S3 提供压缩文件 目前 我将它们从流压缩到本地文件 然后再次上传该文件 这会占用大量磁盘空间 因为每个文件大约有 3 10MB 而且我必须压缩多达 100 000 个文件 所以一个 z
  • 来自客户端的超时 Web 服务调用

    我正在使用 RestEasy 客户端调用网络服务 一项要求是 如果调用运行时间超过 5 秒 则中止 超时调用 我如何使用 RestEasy 客户端实现这一目标 我只看到服务器端超时 即如果在一定时间内未完成请求 Rest Easy 网络服务
  • Spock模拟inputStream导致无限循环

    我有一个代码 gridFSFile inputStream bytes 当我尝试这样测试时 given def inputStream Mock InputStream def gridFSDBFile Mock GridFSDBFile
  • 重写Object类的finalize()方法有什么用?

    据我所知 在java中如果我们想手动调用垃圾收集器 我们可以执行System gc 1 我们在重写的finalize 方法中做了哪些操作 2 如果我们想手动调用JVM垃圾收集器 是否需要重写finalize 方法 我们在重写的 Finali
  • Java 编码风格、局部变量与重复方法调用

    我更喜欢使用局部变量而不是多次调用同一方法 I prefer this Vehicle vehicle person getVehicle if vehicle instanceof Car Car car Car vehicle car
  • Java 推断泛型类型

    我正在寻找类似的推断捕获泛型类型的概念 类似于以下方法片段 但不是捕获泛型类型的类 public
  • 使用 eclipse IDE 配置 angularjs

    我想开始使用 AngularJs 和 Java Spring 进行开发 我使用 Eclipse 作为 IDE 我想配置我的 Eclipse 以使这些框架无缝工作 我知道我可能要求太多 但相信我 我已经做了很多研究 你们是我最后的选择 任何帮

随机推荐

  • C++(19)——智能指针shared_ptr

    shared ptr的概念 shared ptr实现共享式拥有 shared ownership 概念 多个智能指针可以指向相同对象 该对象和其相关资源会在 最后一个引用 reference 被销毁 时候释放 基本原理 智能指针是 几乎总是
  • MySQL数据库学习——SQL分类——DDL

    不能重复创建 可以用if not exists来避免这种情况 比如我要创建一个test的数据库 用if not exists系统就会创建 删除guzifenshisb这个数据库 使用数据库和查询数据库
  • Basic Level 1083 是否存在相等的差 (20分)

    题目 给定 N 张卡片 正面分别写上 1 2 N 然后全部翻面 洗牌 在背面分别写上 1 2 N 将每张牌的正反两面数字相减 大减小 得到 N 个非负差值 其中是否存在相等的差 输入格式 输入第一行给出一个正整数 N 2 N 10 000
  • protobuf

    https www jianshu com p 4b987ef826d3
  • 【前端部署】多个vue项目部署到Linux服务器

    前端部署 多个vue项目部署到Linux服务器 文章目录 前端部署 多个vue项目部署到Linux服务器 前言 一 修改vue项目中配置 1 修改vue config js 2 修改router文件下的index js 3 打包项目 二 修
  • 内存四区:代码区、全局区、栈区、堆区 代码分析

    阅读前请看一下 我是一个热衷于记录的人 每次写博客会反复研读 尽量不断提升博客质量 文章设置为仅粉丝可见 是因为写博客确实花了不少精力 希望互相进步谢谢 文章目录 阅读前请看一下 我是一个热衷于记录的人 每次写博客会反复研读 尽量不断提升博
  • command not found: tensorboard

    zsh command not found tensorboard 问题描述 我的深度学习框架采用的是pytorch 代码中使用tensorboardx来写日志的 之前使用tensorboad可以正常打开日志 但现在提示命令未找到 解决方案
  • 成功解决3dmax中,旋转时透视图可以看穿物体

    成功解决3dmax中 旋转时透视图可以看穿物体 目录 解决问题 解决思路 解决方法 解决问题 成功解决3damx中 旋转时透视图可以看穿物体 解决思路 有可能透视图出了毛病 解决方法 透视图看穿物体时 有可能透视图出了毛病 只需要将切换为正
  • 每日思维模型——管理4R模型

    什么是管理 人是管理的核心要素 通过管理 使人员达成共识 按照流程及规划工作 最终达成目标的系列活动 管人不是目的 发挥人组成的团队效应 高效完成任务才是目的 一 4R法则 4R法则可视为管理下属的总体原则 由四个 R 开头的四个英文单词组
  • 关于UnityHub更换位置后找不到编辑器以及登录界面白屏的问题

    若之前已经有该版本的unity3d 更换位置后显示找不到 可以找出它所在的位置 然后在UnityHub的安装选项中 点击添加已安装版本 该问题就能解决 若显示未登录 且登录界面白屏 可通过以下三个方法解决 关闭hub 在资源管理器中结束un
  • MybatisPlus从入门到精通-三更草堂补充版

    MybatisPlus从入门到精通 基础篇 1 概述 MybatisPlus是一款Mybatis增强工具 用于简化开发 提高效率 它在 MyBatis 的基础上只做增强不做改变 为简化开发 提高效率而生 官网 https mp baomid
  • 关于训练平台中Dockerfile与运行文件的编写

    何为Dockerfile 为了给特定的程序提供特定的运行环境 常用的解决办法是就构建镜像 而Dockerfile就是构建镜像的源代码 Docker程序根据这份源代码在镜像中安装 拷贝文件 设置环境变量 Dockerfile文件编写 下面列举
  • svn搭建

    Subversion SVN 是一个开源的版本控制系統 也就是说 Subversion 管理着随时间改变的数据 这些数据放置在一个中央资料档案库 repository 中 这个档案库很像一个普通的文件服务器 不过它会记住每一次文件的变动 这
  • 教你怎样娶比尔.盖茨的女儿

    无意中在网上看见这篇文章 仔细体会 能让人领会很多东西 一位优秀的商人杰克 有一天告诉他的儿子 杰克 我已经决定好了一个女孩子 我要你娶她 儿子 我自己要娶的新娘我自己会决定 杰克 但我说的这女孩可是比尔 盖茨的女儿喔 儿子 哇 那这样的话
  • disruptor_环形缓冲区– Disruptor背后的数据结构

    disruptor 环形缓冲区 Disruptor背后的数据结构 Disruptor是一个高性能的库 用于在线程之间传递消息 该库由LMAX Exchange公司于几年前开发和开源 他们创建了此软件来处理其零售金融交易平台中的巨大流量 超过
  • deep learning 编程作业总结4----调节神经网络之初始化,正则化,梯度校验

    一 初始化参数 神经网络中一个小单元的运算可由 z wx b 和 a g z 这两个式子来概括 在刚开始的时候需要对参数w和b赋初始值 如果赋值为0那么是没有意义的 如果赋值为一个简单随机数 那么会产生梯度爆炸和梯度消失 因此应采用抑梯度异
  • pyqt5-QGraphicsView

    一 QGrahpics框架 这个框架是一个渲染引擎的上层框架 通常也叫Scene View 由QGraphicsview QGrahpicsScene QGraphicsItem三个框架类组成 QGrahpicsView是从原生的QWidg
  • C++11 多线程之 packaged_task

    packaged task是什么 template lt class R class Args gt class packaged task lt fn Args gt packaged task是类模板 定义于future头文件中 它包装
  • git add 回滚_Git的reset命令详解

    git reset 这个命令是版本控制的精髓 非常实用且常用 真香警告 一 为什么 我们玩闯关游戏的时候 经常要把游戏进度保存 以便我们随时能够回到那一刻 特别是打BOSS之前 做好保存 发现打不过就马上重来 或者一年半载后 重玩游戏 就可
  • nexus3手动上传jar文件(包括不可执行jar打包配置)

    前言 最近用nexus3管理工具jar包时 发现多模块依赖引用找不到依赖包 依赖包不会关联下载 一直以为是打包的问题 还尝试着把所有依赖都打进工具jar中 结果都无法正常启动项目 最后才发现是pom的问题 下面记录我的解决方案 举个例子 一