`
Error_M8
  • 浏览: 3074 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

关于权限管理Shiro的开源项目sshpermissions的maven环境搭建

阅读更多

此处声明 ,关于sshpermissions 开源项目本人没有参与,在此把此开源项目的基本环境搭建和大家共享一下,如有侵权,请跟帖说明。感谢sshpermissions的作者对开源项目的无私贡献。

在此简单说明一下sshpermissions:此项目主要使用shiro作为权限管理框架,同时使用了jbpm工作流等框架,对于想学习这两方面知识的同学应该有帮助。

此处附上sshpermissions的地址:

http://code.google.com/p/sshpermissions/

关于sshpermissions的源码下载请参考文:

http://www.cnblogs.com/skyme/archive/2012/08/15/2639433.html

 

这里我遇到的问题是:在eclipse中无法检出,所以我用的是Windows下的SVN管理工具:TortoiseSVN

 

安装TortoiseSVN完毕,直接在任意一个文件夹中右键选择SVN CheckOut ,填入地址:

http://sshpermissions.googlecode.com/svn/trunk

 

检出完毕应该有以下文件:sshpermissions 中包含 sshpermission、tgBase、tgTemplateEngine、tgTree

等源码包

 

 

环境准备:eclipse 中的tomcat 配置如图:

注意Server Options 的复选框:


 

关于Maven的配置请网上查找,一定要使用本地的Maven仓库,要不会有一点问题:



 

elipse配置:

 

同时还要配置一个是eclipse的ini文件,修改vm如下所示:

 

-vm

C:\Program Files\Java\jdk1.6.0_27\bin

上面的是我的jdk安装目录中的bin文件夹

 

在eclipse中使用jdk编译器:



 请看清楚是jdk而不是jre,把原来的jre删掉

 

这样关于环境的配置都准备就绪了,打开eclipse进行import其中的sshpermission源码项目


因为我进行环境配置过了,所以和你们导入的有少许不同,没关系,下面我会教你们一步一步配置:

 

1.右键点击项目,选择Maven插件中的Disabled Dependency Management,然后右键点击项目,选择Maven中的Enable Dependency Manegement ,这是项目会把原来的依赖去掉,生成Maven依赖,方便我们使用tomcat部署

 

 

2.右键点击项目,选择properties,选择Java Build Path 的 Library

我们要使用jdk和tomcat的library

 


 

 

2.在source里面,我们要修改编译的输出路径,同时把Allow Output...的复选框选上



 3.点击Deployment  Assemby ,这时候会提示是否应用到当前项目中,点Apply,删除target目录


配置如下:


 

增加Maven的lib,要不项目在tomcat启动不来:

 


4.确认,此时我们要修改pom文件

 

4.1 pom中的junit 4.7 不知道为什么不行,所以,我们修改成4.10版本:

 

<dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.10</version>
      <scope>test</scope>
</dependency>

 

同时修改build 如下:

 

<build>
		<finalName>tgOA</finalName>
		<sourceDirectory>src/main/java</sourceDirectory>
		<outputDirectory>src/main/webapp/WEB-INF/classes</outputDirectory>
		<defaultGoal>install</defaultGoal>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
			</resource>
			<resource>
				<directory>src/main/java</directory>
			</resource>
		</resources>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.0.2</version>
				<configuration>
					<source>1.6</source>
					<target>1.6</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-resources-plugin</artifactId>
				<configuration>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-war-plugin</artifactId>
				<configuration>
					<webappDirectory>target</webappDirectory>
					<warSourceDirectory>src/main/webapp</warSourceDirectory>
				</configuration>
			</plugin>
		</plugins>
	</build>

 

此处贴一个完整版的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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.tgyt</groupId>
	<artifactId>tgOA</artifactId>
	<packaging>war</packaging>
	<version>0.0.1-SNAPSHOT</version>
	<name>tgOA Maven Webapp</name>
	<url>http://maven.apache.org</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<spring.version>3.0.5.RELEASE</spring.version>
		<jstl.version>1.1.2</jstl.version>
		<commons.beanutils.version>1.7.0</commons.beanutils.version>
		<commons.collections.version>3.2</commons.collections.version>
		<slf4j.version>1.6.1</slf4j.version>
		<struts2.version>2.2.1</struts2.version>
		<taglibs.version>1.1.2</taglibs.version>
		<spring.security.version>2.0.4</spring.security.version>
	</properties>

	<dependencies>
		<!-- ===== -->
		<dependency>
			<groupId>net.sourceforge.jexcelapi</groupId>
			<artifactId>jxl</artifactId>
			<version>2.6</version>
		</dependency>
		<dependency>
			<groupId>quartz</groupId>
			<artifactId>quartz</artifactId>
			<version>1.5.2</version>
		</dependency>

		<dependency>
			<groupId>taglibs</groupId>
			<artifactId>standard</artifactId>
			<version>${taglibs.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-core</artifactId>
			<version>${spring.security.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-taglibs</artifactId>
			<version>${spring.security.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-core-tiger</artifactId>
			<version>${spring.security.version}</version>
		</dependency>
		<!-- cometd-bayeux -->
		<dependency>
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
			<version>1.1.1</version>
		</dependency>
		<dependency>
			<groupId>org.mortbay.jetty</groupId>
			<artifactId>cometd-bayeux</artifactId>
			<version>6.1.11</version>
		</dependency>
		<dependency>
			<groupId>jstl</groupId>
			<artifactId>jstl</artifactId>
			<version>1.1.2</version>
		</dependency>
		<dependency>
			<groupId>com.google.code.gson</groupId>
			<artifactId>gson</artifactId>
			<version>1.6</version>
		</dependency>
		<!-- ======== -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.10</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>commons-beanutils</groupId>
			<artifactId>commons-beanutils</artifactId>
			<version>${commons.beanutils.version}</version>
		</dependency>
		<dependency>
			<groupId>commons-collections</groupId>
			<artifactId>commons-collections</artifactId>
			<version>${commons.collections.version}</version>
		</dependency>
		<dependency>
			<groupId>commons-lang</groupId>
			<artifactId>commons-lang</artifactId>
			<version>2.4</version>
		</dependency>
		<dependency>
			<groupId>org.apache.ant</groupId>
			<artifactId>ant</artifactId>
			<version>1.8.2</version>
		</dependency>

		<!--*************************SLF4J 1.6.1 CONFIGURATION*********************** -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>1.6.1</version>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-simple</artifactId>
			<version>1.6.1</version>
		</dependency>

		<!--*************************HIBERNATE JAP2.0 CONFIGURATION*********************** -->
		<dependency>
			<groupId>asm</groupId>
			<artifactId>asm-all</artifactId>
			<version>3.3</version>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-entitymanager</artifactId>
			<version>3.6.0.Final</version>
			<exclusions>
				<exclusion>
					<artifactId>asm</artifactId>
					<groupId>asm</groupId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-core</artifactId>
			<version>3.6.0.Final</version>
			<type>jar</type>
			<scope>compile</scope>
			<exclusions>
				<exclusion>
					<artifactId>commons-collections</artifactId>
					<groupId>commons-collections</groupId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-testing</artifactId>
			<version>3.6.0.Final</version>
			<type>jar</type>
			<scope>test</scope>
		</dependency>

		<!--*************************SPRIGN CONFIGURATION*********************** -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${spring.version}</version>
			<type>jar</type>
			<scope>compile</scope>
			<exclusions>
				<exclusion>
					<artifactId>commons-collections</artifactId>
					<groupId>commons-collections</groupId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-expression</artifactId>
			<version>${spring.version}</version>
			<type>jar</type>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
			<version>${spring.version}</version>
			<type>jar</type>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aop</artifactId>
			<version>${spring.version}</version>
			<type>jar</type>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>${spring.version}</version>
			<type>jar</type>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
			<version>${spring.version}</version>
			<type>jar</type>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>${spring.version}</version>
			<type>jar</type>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>${spring.version}</version>
			<type>jar</type>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-orm</artifactId>
			<version>${spring.version}</version>
			<type>jar</type>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-oxm</artifactId>
			<version>${spring.version}</version>
			<type>jar</type>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>${spring.version}</version>
			<type>jar</type>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-asm</artifactId>
			<version>${spring.version}</version>
			<type>jar</type>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>aopalliance</groupId>
			<artifactId>aopalliance</artifactId>
			<version>1.0</version>
			<type>jar</type>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>${spring.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.14</version>
		</dependency>
		<!-- by ligangying -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.0.1</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
			<type>jar</type>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<artifactId>mysql-connector-java</artifactId>
			<groupId>mysql</groupId>
			<version>5.0.5</version>
		</dependency>

		<!-- Struts 2 -->
		<dependency>
			<groupId>org.apache.struts</groupId>
			<artifactId>struts2-core</artifactId>
			<version>2.2.1</version>
		</dependency>
		<dependency>
			<groupId>org.apache.struts</groupId>
			<artifactId>struts2-config-browser-plugin</artifactId>
			<version>2.2.1</version>
		</dependency>
		<dependency>
			<groupId>org.apache.struts</groupId>
			<artifactId>struts2-sitemesh-plugin</artifactId>
			<version>2.2.1</version>
		</dependency>
		<dependency>
			<groupId>org.apache.struts</groupId>
			<artifactId>struts2-spring-plugin</artifactId>
			<version>2.2.1</version>
		</dependency>
		<dependency>
			<groupId>org.freemarker</groupId>
			<artifactId>freemarker-gae</artifactId>
			<version>2.3.18</version>
		</dependency>

		<dependency>
			<groupId>velocity</groupId>
			<artifactId>velocity-dep</artifactId>
			<version>1.4</version>
		</dependency>
		<dependency>
			<groupId>webmacro</groupId>
			<artifactId>webmacro</artifactId>
			<version>1.1final</version>
		</dependency>
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjweaver</artifactId>
			<version>1.6.8</version>
			<type>jar</type>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>net.sf.json-lib</groupId>
			<artifactId>json-lib</artifactId>
			<version>2.2.2</version>
			<type>jar</type>
			<classifier>jdk15</classifier>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.shiro</groupId>
			<artifactId>shiro-core</artifactId>
			<version>1.1.0</version>
		</dependency>
		<dependency>
			<groupId>org.apache.shiro</groupId>
			<artifactId>shiro-web</artifactId>
			<version>1.1.0</version>
		</dependency>
		<dependency>
			<groupId>org.apache.shiro</groupId>
			<artifactId>shiro-spring</artifactId>
			<version>1.1.0</version>
		</dependency>
		<dependency>
			<groupId>commons-dbcp</groupId>
			<artifactId>commons-dbcp</artifactId>
			<version>1.4</version>
		</dependency>
		<dependency>
			<groupId>dom4j</groupId>
			<artifactId>dom4j</artifactId>
			<version>1.6.1</version>
			<type>jar</type>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>cglib</groupId>
			<artifactId>cglib</artifactId>
			<version>2.1_3</version>
			<type>jar</type>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.lucene</groupId>
			<artifactId>lucene-core</artifactId>
			<version>3.6.0</version>
			<type>jar</type>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.lucene</groupId>
			<artifactId>lucene-highlighter</artifactId>
			<version>3.6.0</version>
			<type>jar</type>
			<scope>compile</scope>
		</dependency>
	</dependencies>

	<build>
		<finalName>tgOA</finalName>
		<sourceDirectory>src/main/java</sourceDirectory>
		<outputDirectory>src/main/webapp/WEB-INF/classes</outputDirectory>
		<defaultGoal>install</defaultGoal>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
			</resource>
			<resource>
				<directory>src/main/java</directory>
			</resource>
		</resources>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.0.2</version>
				<configuration>
					<source>1.6</source>
					<target>1.6</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-resources-plugin</artifactId>
				<configuration>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-war-plugin</artifactId>
				<configuration>
					<webappDirectory>target</webappDirectory>
					<warSourceDirectory>src/main/webapp</warSourceDirectory>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>
  
  
  
 

 此时我们保存,然后右键点击项目,Maven中的Update Dependencys,此时我们发现项目中多了不少错误


原因是缺少包,我们增加下依赖就好:



 这下项目没错了,我们Clean下项目,让他编译一次:

点击eclipse顶部工具栏的Porject中的Clean


修改一下resources中的init.properties

 

#数据库连接
datasource.url=jdbc:mysql://localhost/tgpermission?useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true
#用户名
datasource.username=root
#密码
datasource.password=root

 其中根据你的数据库修改,然后把项目部署到tomcat中,启动

http://localhost:8080/tgOA

 


成功!

 

  • 大小: 38.7 KB
  • 大小: 35.5 KB
  • 大小: 20.9 KB
  • 大小: 14 KB
  • 大小: 9.5 KB
  • 大小: 7.9 KB
  • 大小: 44.9 KB
  • 大小: 51.7 KB
  • 大小: 106.3 KB
  • 大小: 16.7 KB
  • 大小: 37.3 KB
  • 大小: 9.6 KB
  • 大小: 57.6 KB
  • 大小: 22.1 KB
  • 大小: 10.1 KB
0
1
分享到:
评论
1 楼 q474818917 2012-12-12  
我想说其实你用了这个项目没有

相关推荐

    maven+springboot+shiro框架框架开发源代码

    在Java世界里,Maven通过使用一个统一的项目对象模型(POM)来定义项目依赖关系,使得开发团队可以轻松地共享和管理项目依赖,避免了jar地狱问题。在本项目中,Maven被用来管理Spring Boot和Shiro的相关库和其他依赖...

    shiro springmvc mybatis bootstarp maven 整合框架(带完整权限数据库)

    Apache Shiro是一个强大且易用的Java安全框架,负责处理认证(登录)、授权(权限控制)、会话管理和加密等功能。在本项目中,Shiro用于实现用户的身份验证和权限管理,确保只有经过认证的用户才能访问特定的资源。...

    权限管理Shiro系统-Apache开源顶级项目shiro-SpringMVC_Shiro项目

    权限管理Shiro系统-Apache开源顶级项目shiro-SpringMVC_Shiro项目

    SSM+Maven+Shiro

    **Maven** 是一个项目管理和综合工具,它通过使用一个项目对象模型(Project Object Model,POM)来管理项目的构建、报告和依赖关系。Maven通过读取POM.xml文件,自动下载所需的库,编译源代码,运行测试,打包应用...

    ssm+maven+shiro

    本项目是基于SSM框架,利用Maven进行构建和依赖管理,并且整合了Apache Shiro进行权限控制,实现了与数据库的交互。 首先,Spring框架作为基础,它提供了依赖注入(Dependency Injection,DI)和面向切面编程...

    Maven+SSM+Shiro

    Maven是一个项目管理工具,主要用于项目的构建、依赖管理和项目信息管理。它通过使用XML格式的POM(Project Object Model)文件来定义项目配置。Maven简化了构建过程,自动下载所需依赖,统一构建规则,使得项目在...

    maven的ssm+shiro简单项目

    4. **Shiro框架**:Apache Shiro是一个强大的安全框架,用于身份认证、授权、会话管理和加密。在本项目中,Shiro被引入来处理用户登录、权限控制等功能,确保应用的安全性。它可以轻松地实现如登录验证、权限分配、...

    shiro+maven+sringMVC+mybatis

    它通过XML配置文件管理项目的依赖关系,自动构建过程,如编译、测试、打包和部署等。在"Shiro + Maven + SpringMVC + MyBatis"的实例中,Maven负责下载并管理所有必要的库,包括Shiro、SpringMVC和MyBatis的依赖,...

    maven+springboot+jpa+shiro权限管理内有数据库sql

    首先,Maven是一个项目管理和综合工具,它帮助开发者管理项目的构建、依赖关系以及版本控制。在Java世界里,Maven通过其约定优于配置的理念,简化了项目的构建过程。开发者只需要在`pom.xml`文件中定义项目依赖,...

    shiro+SSM+maven 增删改查

    本文将详细介绍如何在SSM基础上集成Shiro实现用户登录验证和权限控制,以及如何利用Maven进行项目管理。 首先,Spring作为依赖注入(DI)和面向切面编程(AOP)的框架,负责管理和协调系统中的对象。Struts2作为MVC...

    单点登录sso-shiro-cas-maven

    其中node1跟node2都是采用spring + springMVC + mybatis 框架,使用maven做项目管理 ## cas集成说明 1.首先采用的是查数据库的方式来校验用户身份的,在cas/WEB-INF/deployerConfigContext.xml中第135行构建了这个...

    maven+ssm+shiro

    ssm搭建+详细说明 eclipse shiro权限控制

    Shiro maven 完整案例代码

    Apache Shiro 是一个强大且易用的 Java 安全框架,提供了认证、授权、加密和会话管理功能,可以非常容易地开发出足够安全的应用。本案例是基于 Maven 构建的 Shiro 项目,适合开发者下载学习和研究。 1. **Shiro ...

    ssm(springmvc+shiro+mybatis+maven)

    Maven是Apache的一个项目构建工具,它依赖于XML文件(pom.xml)来管理项目的构建、报告和依赖关系。在SSM项目中,pom.xml文件定义了项目的基本信息、依赖库以及构建过程。Maven通过解析pom.xml,自动下载所需依赖,...

    maven-spring-shiro

    首先,Maven是Java项目的构建工具,它通过POM(Project Object Model)文件来管理项目依赖,简化了项目的构建和维护过程。在`maven-spring-shiro`项目中,Maven负责整合所有必要的库和插件,确保项目能够顺利运行。...

    spring+mvc+jpa+shiro+hibernate+maven案例

    5. **Maven**:Maven是Java项目管理工具,它可以帮助开发者管理项目的构建、依赖和文档生成。在本案例中,Maven被用来整合所有依赖库,构建和部署Web应用程序。 从压缩包的文件名"access Maven Webapp"来看,这个...

    基于Maven的ssm与shiro整合项目

    在本项目中,Maven负责管理项目的所有依赖,如Spring、Spring MVC、MyBatis和Shiro等,确保它们的版本兼容并自动下载到本地仓库。 **2. Spring框架** Spring是一个全面的Java企业级应用开发框架,提供了IOC(控制...

    springboot+shiro+maven+mybatis

    在本项目中,Maven负责管理项目的依赖关系,构建过程,以及生成项目相关的输出,如jar包或war包。 6. **整合过程**: 这个项目将上述四个组件集成在一起,实现了一个完整的后端架构。Spring Boot作为基础框架,提供...

    spring mvc、apache shiro、mysql 框架搭建,基于maven构建

    在本项目中,Maven负责协调Spring MVC、Apache Shiro和MySQL等库的依赖关系,通过`pom.xml`文件管理项目的构建过程。开发者只需要指定所需的依赖项,Maven会自动下载并管理这些库,简化了项目的构建和部署流程。 在...

    基于Maven+SSM整合shiro+Redis实现后台管理项目

    本项目以"基于Maven+SSM整合shiro+Redis实现后台管理项目"为主题,旨在利用现代Web开发技术来创建一个安全、可扩展且高效的管理平台。下面我们将详细探讨这个项目中的核心技术和知识点。 首先,Maven是Java开发中的...

Global site tag (gtag.js) - Google Analytics