tomcat部署maven项目需要安装maven环境吗

tomcat部署maven项目需要安装maven环境吗,第1张

需要。tomcat部署就是将项目拷贝到maven服务器,Tomcat启动时将自动加载应用。启动时还需要maven环境的支持才可以顺利启动。所以需要安装。Maven项目对象模型,可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。

如何用java 5分钟实现一个最简单的mysql代理服务器

首先,准备开发工具套件,我们并不会引入过多工具包,仅仅需要:

java8

vertx 3

如果你是用maven做为项目管理工具,请将vertx 3引入:

1

2

3

4

5

<dependency>

<groupId>iovertx</groupId>

<artifactId>vertx-core</artifactId>

<version>332</version>

</dependency>

代码实现:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

package

commaxleapmysqlproxy;

import

iovertxcoreAbstractVerticle;

import

iovertxcoreVertx;

import

iovertxcoreloggingLogger;

import

iovertxcoreloggingLoggerFactory;

import

iovertxcorenetNetClient;

import

iovertxcorenetNetServer;

import

iovertxcorenetNetSocket;

/

@author sneaky

@since 100

/

public

class

MysqlProxyServer

{

private

static

final

Logger

logger

=

LoggerFactorygetLogger(MysqlProxyServerclass);

public

static

void

main(String[]

args)

{

Vertxvertx()deployVerticle(new

MysqlProxyServerVerticle());

}

public

static

class

MysqlProxyServerVerticle

extends

AbstractVerticle

{

private

final

int

port

=

3306;

private

final

String

mysqlHost

=

"101006";

@Override

public

void

start()

throws

Exception

{

NetServer

netServer

=

vertxcreateNetServer();//创建代理服务器

NetClient

netClient

=

vertxcreateNetClient();//创建连接mysql客户端

netServerconnectHandler(socket

->

netClientconnect(port,

mysqlHost,

result

->

{

//响应来自客户端的连接请求,成功之后,在建立一个与目标mysql服务器的连接

if

(resultsucceeded())

{

//与目标mysql服务器成功连接连接之后,创造一个MysqlProxyConnection对象,并执行代理方法

new

MysqlProxyConnection(socket,

resultresult())proxy();

  Nexus介绍

  Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省带宽和时间,Nexus就可以满足这样的需要。此外,他还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,它占用较少的内存,基于简单文件系统而非数据库。这些优点使其日趋成为最流行的Maven仓库管理器。

  

  下载和安装

  你可以从http://nexussonatypeorg/downloads/ 下载最新版本的Nexus,笔者使用的是130版本。

  Nexus提供了两种安装方式,一种是内嵌Jetty的bundle,只要你有JRE就能直接运行。第二种方式是WAR,你只须简单的将其发布到web容器中即可使用。

  

  Bundle方式安装

  解压nexus-webapp-130-bundlezip 至任意目录,如D:\dev_tools ,然后打开CMD,cd至目录D:\dev_tools\nexus-webapp-130\bin\jsw\windows-x86-32 ,运行Nexusbat 。你会看到Nexus的启动日志,当你看到“Started SelectChannelConnector@0000:8081”之后,说明Nexus启动成功了,然后打开浏览器,访问http://127001:8081/nexus,你会看到如下的页面:

  要停止Nexus,Ctrl+C即可,此外InstallNexusbat可以用来将Nexus安装成一个windows服务,其余的脚本则对应了启动,停止,暂停,恢复,卸载Nexus服务。

  

  WAR方式安装

  你需要有一个能运行的web容器,这里以Tomcat为例,加入Tomcat的安装目录位于D:\dev_tools\apache-tomcat-6018 ,首先我们将下载的nexus-webapp-130war 重命名为nexuswar ,然后复制到D:\dev_tools\apache-tomcat-6018\webapps\nexuswar ,然后启动CMD,cd到D:\dev_tools\apache-tomcat-6018\bin\ 目录,运行startupbat 。一切OK,现在可以打开浏览器访问http://127001:8080/nexus,你会得到和上图一样的界面。

  

  代理外部Maven仓库

  登陆

  要管理Nexus,你首先需要以管理员身份登陆,点击界面右上角的login,输入默认的登录名和密码:admin/admin123,登陆成功后,你会看到左边的导航栏增加了很多内容:

  这里,可以管理仓库,配置Nexus系统,管理任务,管理用户,角色,权限,查看系统的RSS源,管理及查看系统日志,等等。你会看到Nexus的功能十分丰富和强大,本文,笔者只介绍一些最基本的管理和操作。

  

  代理Maven中央仓库

  点击左边导航栏的Repositories,界面的主面板会显示所有一个所有仓库及仓库组的列表,你会看到它们的Type字段的值有group,hosted,proxy,virtual。这里我们不关心virtual,只介绍下另外三种类型:

  hosted,本地仓库,通常我们会部署自己的构件到这一类型的仓库。

  proxy,代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库。

  group,仓库组,用来合并多个hosted/proxy仓库,通常我们配置maven依赖仓库组。

  由此我们知道,我们需要配置一个Maven中央仓库的proxy,其实Nexus已经内置了Maven Central,但我们需要做一些配置。点击仓库列表中的Maven Central,你会注意到它的Policy是release,这说明它不会代理远程仓库的snapshot构件,这是有原因的,远程仓库的snapshot版本构件不稳定且不受你控制,使用这样的构件含有潜在的风险。然后我们发现主面板下方有三个Tab,分别为Browse,Configuration和Mirrors,我们点击Configuration进行配置,你现在需要关心的是两个配置项:“Remote Storage Location”为远程仓库的地址,对于Maven Central来说是http://repo1mavenorg/maven2/;“Download Remote Indexes”顾名思义是指是否下载远程索引文件,Maven Central的该字段默认为False,这是为了防止大量Nexus无意识的去消耗中央仓库的带宽(中央仓库有大量的构件,其索引文件也很大)。这里我们需要将其设置为True,然后点击Save。在Nexus下载的中央仓库索引文件之后,我们就可以在本地搜索中央仓库的所有构件。下图展示了我们刚才所涉及的配置:

  

  添加一个代理仓库

  这里我们再举一个例子,我们想要代理Sonatype的公共仓库,其地址为:http://repositorysonatypeorg/content/groups/public/。步骤如下,在Repositories面板的上方,点击Add,然后选择Proxy Repository,在下方的配置部分,我们填写如下的信息:Repository ID - sonatype;Repository Name - Sonatype Repository;Remote Storage Location - http://repositorysonatypeorg/content/groups/public/。其余的保持默认值,需要注意的是Repository Policy,我们不想代理snapshot构件,原因前面已经描述。然后点击Save。配置页面如下:

  

  管理本地Maven仓库

  Nexus预定义了3个本地仓库,分别为Releases,Snapshots,和3rd Party。这三个仓库都有各自明确的目的。Releases用于部署我们自己的release构件,Snapshots用于部署我们自己的snapshot构件,而3rd Party用于部署第三方构件,有些构件如Oracle的JDBC驱动,我们不能从公共仓库下载到,我们就需要将其部署到自己的仓库中。

  当然你也可以创建自己的本地仓库,步骤和创建代理仓库类似,点击Repository面板上方的Add按钮,然后选择Hosted Repository,然后在下方的配置面板中输入id和name,注意这里我们不再需要填写远程仓库地址,Repository Type则为不可修改的hosted,而关于Repository Policy,你可以根据自己的需要选择Release或者Snapshot。

  

  管理Maven仓库组

  Nexus中仓库组的概念是Maven没有的,在Maven看来,不管你是hosted也好,proxy也好,或者group也好,对我都是一样的,我只管根据groupId,artifactId,version等信息向你要构件。为了方便Maven的配置,Nexus能够将多个仓库,hosted或者proxy合并成一个group,这样,Maven只需要依赖于一个group,便能使用所有该group包含的仓库的内容。

  Nexus预定义了“Public Repositories”和“Public Snapshot Repositories”两个仓库组,前者默认合并所有预定义的Release仓库,后者默认合并所有预定义的Snapshot仓库。我们在本文前面的部分创建了一个名为“Sonatype Repository”的仓库,现在将其合并到“Public Repositories”中。

  点击仓库列表中的“Public Repositories”,然后选择下方的"Configuration" Tab,在配置面板中,将右边“Avaiable Repositories”中的“Sonatype Repository”拖拽到左边的“Ordered Group Repository”中,如图:

  创建仓库组和创建proxy及hosted仓库类似,这里不再赘述。需要注意的是format字段需要填写“maven2”,添加你感兴趣的仓库即可。

maven 手动把本地jar安装到本地仓库

方法/步骤

1

是自己编写的一个jar文件,每次添加单个jar到maven本地仓库的操作如下: 1建立一个新的文件夹,将jar文件存放在该文件夹下。 注意文件夹下最好只存放该文件。 2在该文件夹下建立一个pomxml文件,在pom文件中定义其maven坐标。 3在cmd窗口中执行以下命令: mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>

例如:

mvn install:install-file -Dfile=D:/jar/xxxjar -DgroupId=xxxxxx -DartifactId=xxx -Dversion=xx -Dpackaging=jar

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » tomcat部署maven项目需要安装maven环境吗

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情