史上最全使用Nexus搭建Maven服务器详细配置

本文介绍如何在局域网环境下搭建Nexus作为Maven私服,解决无法访问外网的问题。包括环境准备、Nexus安装步骤及配置代理服务器等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到这台私服上,这样的话就可以通过这台搭建了nexus私服的电脑访问maven的远程仓库。

1.首先确定我们的环境安装好maven,jdk等必须的环境

2.这些都准备好之后,去下载最新版本的nexus    下载地址:http://www.sonatype.org/nexus/go 

    我本地安装的是 nexus-2.2-01-bundle,最新的版本是nexus-2.4.0-09-bundle

3.打开目录nexus-2.4.0-09-bundle\nexus-2.4.0-09\bin\jsw 这个目录下面你会发现有很多系统版本的nexus环境

   我的电脑是win7 (64)为的系统,所以我选择的是windows-x86-64这个版本,当然可以根据个人的电脑系统选择对应的版本

 

打开一个版本你会看到如下:

 

我一般都是将nexus安装成windows服务,所以点击install-nexus.bat这个,访问http://localhost:8081/nexus/ 启动后如下页面,在右上角有个Log in 的超链接,点击登录

默认的用户名是 admin 密码是 admin123

 登录后你可以在左侧修改登录信息:

 

4.接下来,我们配置一下maven的代理服务器(前提是你的电脑不能连接外网,如果可以上外网,这里也没有意思,只是介绍一下)

   在左侧菜单找到如图:

   

  点击查看右边有很多选项,找到这里

添加你的代理服务器就可以了。

 5:接下来,好像这里都不需要怎么配置的,反正我没有用到很多的功能,可能是技术学得不好,不会用,呵呵....

     对了,这里还有一个可能需要注意一下的,就是3rd party、Snapshots、Releases这三个,分别用来保存第三方jar(典型的oracle数据库的j驱动包),项目组内部的快照、项目组内部的发布版.

     我目前只是用3rd party这个第三方的功能,将maven仓库中没有构件的jar包上传到服务器。如何将第三方的jar上传到nexus上面呢?如下:举例上传oracle的驱动包

    

 

 

 

那么现在nexus已经安装好,怎么使用上传的jar包吧,很简单的,前提是你已经建立了一个maven的项目。含有pom.xml这个文件,在这个文件中添加如下:

先去服务器看看jar的maven构件

然后在pom.xml中添加如下的本地仓库地址:

复制代码
复制代码
 1     <repositories>
 2         <repository>  3 <id>nexus</id>  4 <name>Team Nexus Repository</name>  5 <url>http://localhost:8081/nexus/content/groups/public</url>  6 </repository>  7 </repositories>  8 <pluginRepositories>  9 <pluginRepository> 10 <id>nexus</id> 11 <name>Team Nexus Repository</name> 12 <url>http://localhost:8081/nexus/content/groups/public</url> 13 </pluginRepository> 14 </pluginRepositories> 15 <dependencies> 16 <dependency> 17 <groupId>com.oracle</groupId> 18 <artifactId>ojdbc</artifactId> 19 <version>10.1.0.2.0</version> 20 </dependency> 21 </dependencies>
复制代码
复制代码

 

到此,完成了nexus私服的搭建,项目组开发人员开发时,只要在项目的pom.xml文件中,添加如下pom.xml信息即可获取私服的jar.

如果添加其他的构件时,会先在nexus私服下载好,以后才会下载到本地。以后,如果发现私服已经存在某一jar包,则会直接从私服下载,如果没有再去网络上下载。这就是搭建私服的好处。哈哈........

所以很有必要搭建maven私服。

03-30
### Swish-Gated Linear Unit (SwiGLU) 的定义 Swish-Gated Linear Unit (SwiGLU) 是一种结合了门控机制和激活函数的神经网络组件,广泛应用于自然语言处理和其他深度学习领域。它通过引入非线性和自适应加权的方式增强了模型表达能力[^4]。 具体来说,SwiGLU 可以被看作是一种特殊的门控单元形式,其中输入经过两个分支路径:一条路径应用 Swish 激活函数作为门控信号,另一条保持原始输入不变。最终输出由这两个分支的结果相乘得到: \[ \text{SwiGLU}(x) = (\sigma(W_s \cdot x + b_s) \odot W_g \cdot x + b_g) \] 在这里: - \(W_s\) 和 \(b_s\) 表示用于计算门控信号的权重矩阵和偏置项; - \(W_g\) 和 \(b_g\) 则表示用于缩放输入的权重矩阵和偏置项; - \(\sigma(x)\) 表示标准 Sigmoid 函数或其变种(如 Swish); - \(\odot\) 表示逐元素乘法操作。 这种设计允许模型动态调整不同特征的重要性,从而提升复杂模式的学习效率[^5]。 --- ### 实现细节 以下是基于 PyTorch 的 SwiGLU 实现代码片段: ```python import torch import torch.nn as nn class SwiGLU(nn.Module): def __init__(self, input_dim, output_dim): super(SwiGLU, self).__init__() self.linear_gate = nn.Linear(input_dim, output_dim) self.linear_main = nn.Linear(input_dim, output_dim) def forward(self, x): gate = torch.sigmoid(self.linear_gate(x)) # Gate signal using sigmoid/Swish main = self.linear_main(x) # Main transformation path return gate * main # Element-wise multiplication ``` 上述实现中,`linear_gate` 负责生成门控信号,而 `linear_main` 处理主要的数据流转换部分。两者的输出随后通过逐元素乘法组合在一起形成最终结果[^6]。 需要注意的是,在实际部署过程中可以根据需求替换掉默认的 Sigmoid 函数为其他更高效的替代品比如 SiLU 或 GELU 来进一步优化性能表现[^7]。 --- ### 使用场景 由于具备较强的灵活性以及良好的梯度传播特性,SwiGLU 特别适合于以下几种情况下的建模工作: 1. **序列建模**: 如 Transformer 架构中的前馈网络模块可以采用 SwiGLU 替代传统 ReLU/GeLU 层次结构来增强局部依赖关系捕捉能力。 2. **低资源环境**: 类似于预训练嵌入未能显著改善整体效果的小型数据集情境下,适当加入此类复杂的非线性变换有助于挖掘潜在规律[^8]。 3. **多任务联合训练框架内**, 当存在多个子任务共享底层表征空间时,利用 SwiGLU 提供额外自由度可以帮助平衡各目标间冲突并促进知识迁移过程顺利开展. ---
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值