`
longgangbai
  • 浏览: 7340130 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多

Maven的使用一
  1、 Maven标准目录结构:


  用如下命令创建一个项目目录:
  mkdir sameple_echo
  cd sameple_echo
  推荐使用如下的目录结构:
  sample-echo [current directory]
  +- src
  +- main
  +- java
  +- samples [package structure]
  +- echo
  +- resources
  +- test
  +- java
  +- samples [package structure]
  +- echo
  +- xdocs
  以下是对各个目录的详细解析:
  src
  其子目录中包含了源文件的所有类型
  src/main
  最终应用的主体部分,代码只是其中的一部分
  src/main/java
  组成应用的java代码部分,其下的子目录将按照包结构排列
  src/main/resources
  最终应用的其它组成部分,例如META-INF/MANIFEST.MF
  
  src/test
  最终应用的单元测试部分
  src/test/java
  src/main/resources
  Xdocs
  
  2、 对于Maven来说,最重要的文件是:project.xml,如果没有它,你将无从得知你的项目的任何信息。可以通过genapp或scm:checkout命令来创建它。
   project.xml文件的项目描述符的典型格式如下:
  <project>
  <groupId>sample</groupId>
  <artifactId>sample-echo</artifactId>
  <version>1.0-SNAPSHOT</version>
  <dependencies>
  <dependency>
  <groupId>log4j</groupId>
  <artifactId>log4j</artifactId>
  <version>1.2.8</version>
  </dependency>
  </dependencies>
  <build>
  <sourceDirectory>src/main/java</sourceDirectory>
  <unitTestSourceDirectory>src/test/java</unitTestSourceDirectory>
  <resources>
  <resource>
  <directory>src/main/resources</directory>
  </resource>
  </resources>
  <unitTest>
  <includes>
  <include>**/*Test.java</include>
  </includes>
  </unitTest>
  </build>
  </project>
  注意将此配置文件和1的目录格式做比较。
  3、 以1、2为例子,在src/main/java目录中拷贝一些java文件,注意,其目录结构要符合包结构名称。则,以下命令可以完成对应的功能:
  maven java:compile
  编译代码并测试错误-仅此而已
  maven test
  编译代码并测试,之后运行所有的单元测试
  mave jar
  运行完上面的命令后,创建相应的jar文件
  mave site
  在target/docs中创建一个站点,并见识以下是什么样子
  如果想自定义创建,可以创建project.properties文件(与project.xml文件在同一目录),并在里面添加属性描述,如下:
  maven.compile.source=1.3
  maven.compile.target=1.1
  maven.compile.debug=true
  定义在project.properties文件中的属性可以被项目的所有成员共享。
  但如果属性牵涉到系统环境,则最好将其添加在build.properties文件中,其既可以放在项目目录下(只能被这个项目使用),也可以放在主目录(home)中(可以被多个项目共享)。
  4、 产生站点:
  举个例子说明:
   在xdocs目录下,创建index.xml文件,其内容主体是:
  <document>
  <properties>
  <title>Hello World</title>
  <author email="me@mycompany.com">Me</author>
  </properties>
  <body>
  <section name="Section 1">
  <p>
  Hello world!
  </p>
  </section>
  </body>
  </document>
  则,用
   Maven site
  命令编译后,将在target/docs/目录下将产生index.html文件,XHTML将被包涵在<section />标签中。
  5、 用:maven jar 命令可以编译源代码,并执行所有的单元测试,并最终把所有资源打包成一个jar文件。而单元测试所产生的文档可以被作为生成站点的HTML报告文档。
   输出的目标目录(target)的结构如下:
  
  target/classes
  编译后的类文件和资源
  target/test-classes
  编译后的测试类文件和资源
  target/test-reports
  关于测试结果的test或xml格式的文本表述。
  target/project-X.Y.Z.jar
  从target/classes中打包输出的jar文件
  以上的过程也可以被分解为以下步骤来执行:
  Maven java:compile
  Maven test
  6、 用maven site 命令可以编译整个项目为一个web 站点应用。这个命令的执行结果将以文档的形式被发布在target/docs目录中,网站管理员可以将此作为web service发布。
  7、 编译后如果想作些清除工作,可以用make clean 命令。
  8、 编译成war应用可用maven war 命令。
  9、 如果项目中包涵有maven.xml文件,则这个项目的所有要做的工作都已被定义在其中,我们不需要再用maven java:compile,maven jar…等命令去达到我们不同的目的了。只需要用 maven 命令来执行maven.xml文件已定义好的操作即可。如果想知道maven.xml文件中定义了哪些操作,可以用maven –u 命令来查看。
  10、 正式编译之前,可以用maven build:end命令来彻底检测project.xml中所定义的项目文件(包涵jar文件)之间的依赖关系。如果依赖关系不完整,将报告错误信息。
  11、 项目所需要的依赖库有本地和远程之分,依赖库提供项目所需要的jar等资源文件,设置远程依赖库可以在maven.jar包中的defaults.properties中设置,但也可以在~/build. Properties或project. Properties文件中定义远程依赖库,推荐在project. Properties文件中定义,因为这样具有更高的优先级,远程依赖库的定义如下:
  maven.repo.remote=http://planetmirror.com/maven/,http://www.ibiblio.org/maven/
  12、 脱机编译:
   如果需要脱机编译项目,可以通过CLI来实现转换,命令如下:
  
  maven –o jar:jar
   这等同于:
  maven -Dmaven.mode.online=false jar:jar
  或者,我们也可以将build.properties 文件中的 maven.mode.online 设置为 false 以确定我们总是脱机编译。
  13、 处于安全和带宽的考虑,一个项目更多的是使用内部的依赖库,可以通过HTTP协议和文件系统file://来加载远程依赖库,通过SCP,FTP,和文件复制来实现依赖库上载。
  设置一个内部依赖库仅仅需要你有空间去放它,要使用它,只需要在项目(project)属性中做如下简单设置:
  maven.repo.remote=http://repository.company.com/
  或者
  maven.repo.remote=file:///shared/repository
  要将项目发布到远程依赖库中,可以通过多种协议,假如我们通过SCP协议来传输数据,可以设置如下属性:
  maven.repo.list=myrepo
  maven.repo.myrepo=scp://repository.mycompany.com/
  maven.repo.myrepo.directory=/www/repository.mycompany.com/
  maven.repo.myrepo.username=${user.name}
  maven.repo.myrepo.privatekey=${user.home}/.ssh/id_dsa
  注意:某些SUN发布的jar包有版权信息,可能需要手动将其下载,或手动部署到服务器端。

 

 

1 . 生成标准布局的webapp项目,在控制台执行下面命令(groupId后面是包名,artifactId后面是项目名称):

mvn archetype:create -DgroupId=net.jeffrey
-DartifactId=my-webapp
-DarchetypeArtifactId=maven-archetype-webapp

2. 生成标准布局的普通java项目,执行:

mvn archetype:create -DgroupId=net.jeffrey -DartifactId=my-app

3. 在Maven2中有了明确的生命周期概念,而且都提供与之对应的命令,使得项目构建更加清晰明了。主要的生命周期阶段:

validate,验证工程是否正确,所有需要的资源是否可用。
compile,编译项目的源代码。
test-compile,编译项目测试代码。
test,使用已编译的测试代码,测试已编译的源代码。
package,已发布的格式,如jar,将已编译的源代码打包。
integration-test,在集成测试可以运行的环境中处理和发布包。
verify,运行任何检查,验证包是否有效且达到质量标准。
install,把包安装在本地的repository中,可以被其他工程作为依赖来使用
deploy,在整合或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。
generate-sources,产生应用需要的任何额外的源代码,如xdoclet。
如果要执行项目编译,那么直接输入:mvn compile即可,对于其他的阶段可以类推。阶段之间是存在依赖关系(dependency)的,如test依赖test-compile。在执行mvn test时,会先运行mvn test-compile,然后才是mvn test。

 

 

mvn compile
编译主程序源代码,不会编译test目录的源代码。第一次运行时,会下载相关的依赖包,可能会比较费时。

mvn test-compile
编译测试代码,compile之后会生成target文件夹,主程序编译在classes下面,测试程序放在test-classes下。

mvn test
运行应用程序中的单元测试

mvn site
生成项目相关信息的网站

mvn clean
清除目标目录中的生成结果

mvn package
依据项目生成 jar 文件,打包之前会进行编译,测试。

mvn install
在本地 Repository 中安装 jar。

mvn eclipse:eclipse
生成 Eclipse 项目文件及包引用定义,注意,需确保定义Classpath Variables: M2_REPO,指向本地maven类库目录。

pom.xml 说明

<?xml version="1.0" encoding="UTF-8"?>
<project>
    
<modelVersion>4.0.0</modelVersion>
    
<groupId>com.tutorial.struts2</groupId>
    
<artifactId>tutorial</artifactId>
    
<packaging>war</packaging>
    
<version>1.0-SNAPSHOT</version>
    
<name>Struts 2 Starter</name>
    
<url>http://www.myComp.com</url>
    
<description>Struts 2 Starter</description>
    
<dependencies>
        
<!-- Junit -->
        
<dependency>
            
<groupId>junit</groupId>
            
<artifactId>junit</artifactId>
            
<version>4.4</version>
            
<scope>test</scope>
        
</dependency>

        
<dependency>
            
<groupId>org.springframework</groupId>
            
<artifactId>spring</artifactId>
            
<version>2.5.5</version>
        
</dependency>
    
</dependencies>
</project>

说明:
modelversion pom.xml 使用的对象模型版本
groupId 创建项目的组织或团体的唯一 Id
artifactId> 项目唯一Id, 项目名
packaging 打包扩展名(JAR、WAR、EAR)
version 项目版本号
name 显示名,用于生成文档
url 组织站点,用于生成文档
description 项目描述,用于生成文档


dependency之scope 管理依赖部署,取值如下:
  compile 缺省值,用于所有阶段,随项目一起发布;
  provided 期望JDK、容器或使用者提供此依赖。如servlet.jar;
  runtime 只在运行时使用;
  test 只在测试时使用,不随项目发布;
  system 需显式提供本地jar,不在代码仓库中查找;


3、创建Maven Web项目
 mvn archetype:generate -DgroupId=com.demo -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp
groupId 组织名,对应项目的package;artifactId 项目名;archetypeArtifactId 项目类型

 

如果你不想编译test用例使用如下命令:

mvn -Dmaven.test.skip=true

 

 

查看帮助他命令:mvn --help

查看帮助可知:

常用的忽略参数  -fn  (如果无意中引用sun中的jar,类路径的以sun开始报错使用此参数等)

 

 

 

 

 

Struts2+spring+ibatis 的pom.xml

<?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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.cy</groupId>
  <artifactId>mallshop</artifactId>
  <packaging>pom</packaging>
  <version>1.0</version>
  <name>mallshop</name>
  <url>http://maven.apache.org</url>
 <dependencies>
   <dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.7</version>
			<scope>test</scope>
		</dependency>
	         <dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.14</version>
		</dependency>
		<dependency>
			<groupId>commons-dbcp</groupId>
			<artifactId>commons-dbcp</artifactId>
			<version>1.2.2</version>
		</dependency>
		<dependency>
			<groupId>commons-beanutils</groupId>
			<artifactId>commons-beanutils</artifactId>
			<version>1.7.0</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-mock</artifactId>
			<version>2.0.8</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>2.5.6</version>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.9</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring</artifactId>
			<version>2.5.6</version>
		</dependency>
			<dependency>
			<groupId>org.apache.ibatis</groupId>
			<artifactId>ibatis-sqlmap</artifactId>
			<version>2.3.4.726</version>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.4</version>
		</dependency>
		<dependency>
			<groupId>javax.mail</groupId>
			<artifactId>mail</artifactId>
			<version>1.4.1</version>
		</dependency>
		<dependency>
      <groupId>org.apache.struts</groupId>
      <artifactId>struts2-jfreechart-plugin</artifactId>
    <version>2.1.8</version>
	</dependency>
  </dependencies>
  <build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.6</source>
					<target>1.6</target> 
					<encoding>GBK</encoding>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>  

 

 

 spring+jpa的pom.xml

<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>org.springframework.data.jpa.examples</groupId>
 <artifactId>spring-data-jpa-examples-parent</artifactId>
 <version>1.0.1.RELEASE</version>
 <packaging>pom</packaging>

 <name>Spring Data JPA sample projects</name>
 <description>Sample projects for Spring Data JPA</description>
 <url>http://www.springframework.org/spring-data</url>
 <inceptionYear>2011</inceptionYear>
 <developers>
  <developer>
   <id>gierke</id>
   <name>Oliver Gierke</name>
   <email>ogierke@vmware.com</email>
   <url>http://www.olivergierke.de</url>
  </developer>
 </developers>

 <properties>
  <spring.version>3.0.5.RELEASE</spring.version>
  <jpa.version>2.0.0</jpa.version>
  <junit.version>4.8</junit.version>
  <hibernate.version>3.5.6-Final</hibernate.version>
  <slf4j.version>1.6.1</slf4j.version>
  <aspectj.version>1.6.8</aspectj.version>
  <jodatime.version>1.5.2</jodatime.version>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 </properties>

 <build>
  <plugins>
   <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3</version>
    <configuration>
     <source>1.6</source>
     <target>1.6</target>
    </configuration>
   </plugin>
   <plugin>
    <groupId>com.springsource.bundlor</groupId>
    <artifactId>com.springsource.bundlor.maven</artifactId>
    <version>1.0.0.RELEASE</version>
    <executions>
     <execution>
      <id>bundlor</id>
      <goals>
       <goal>bundlor</goal>
      </goals>
      <phase>process-classes</phase>
     </execution>
    </executions>
    <configuration>
     <failOnWarnings>true</failOnWarnings>
    </configuration>
   </plugin>
  </plugins>
 </build>

 <dependencies>

  <dependency>
   <groupId>org.springframework.data</groupId>
   <artifactId>spring-data-jpa</artifactId>
   <version>1.0.1.RELEASE</version>
  </dependency>

  <dependency>
   <groupId>junit</groupId>
   <artifactId>junit</artifactId>
   <version>${junit.version}</version>
   <scope>test</scope>
  </dependency>

  <dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-log4j12</artifactId>
   <version>1.5.8</version>
   <type>jar</type>
   <scope>runtime</scope>
  </dependency>

  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-test</artifactId>
   <version>${spring.version}</version>
  </dependency>

  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-aop</artifactId>
   <version>${spring.version}</version>
  </dependency>

  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-asm</artifactId>
   <version>${spring.version}</version>
  </dependency>

  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-aspects</artifactId>
   <version>${spring.version}</version>
  </dependency>

  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-beans</artifactId>
   <version>${spring.version}</version>
  </dependency>
<!--
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-context</artifactId>
   <version>${spring.version}</version>
  </dependency>

  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-context-support</artifactId>
   <version>${spring.version}</version>
  </dependency>
 -->
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-core</artifactId>
   <version>${spring.version}</version>
  </dependency>

  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-expression</artifactId>
   <version>${spring.version}</version>
  </dependency>

  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-instrument</artifactId>
   <version>${spring.version}</version>
  </dependency>

  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-instrument-tomcat</artifactId>
   <version>${spring.version}</version>
  </dependency>

  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-webmvc</artifactId>
   <version>${spring.version}</version>
  </dependency>
<!--
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-dao</artifactId>
   <version>1.1-rc2</version>
  </dependency>
 -->
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-jdbc</artifactId>
   <version>${spring.version}</version>
  </dependency>

  <dependency>
   <groupId>org.tuckey</groupId>
   <artifactId>urlrewritefilter</artifactId>
   <version>3.1.0</version>
  </dependency>

  <dependency>
   <groupId>commons-logging</groupId>
   <artifactId>commons-logging</artifactId>
   <version>1.1</version>
  </dependency>

  <dependency>
   <groupId>org.hamcrest</groupId>
   <artifactId>hamcrest-all</artifactId>
   <version>1.1</version>
   <scope>test</scope>
  </dependency>

  <dependency>
   <groupId>net.sf.json-lib</groupId>
   <artifactId>json-lib</artifactId>
   <version>2.3</version>
   <classifier>jdk15</classifier>
  </dependency>

  <dependency>
   <groupId>org.hibernate.javax.persistence</groupId>
   <artifactId>hibernate-jpa-2.0-api</artifactId>
   <version>1.0.0.Final</version>
  </dependency>
  <dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-entitymanager</artifactId>
   <version>${hibernate.version}</version>
   <scope>runtime</scope>
  </dependency>

  <dependency>
   <groupId>commons-fileupload</groupId>
   <artifactId>commons-fileupload</artifactId>
   <version>1.2.2</version>
  </dependency>


  <dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-c3p0</artifactId>
   <version>3.3.2.GA</version>
  </dependency>

  <dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-log4j12</artifactId>
   <version>${slf4j.version}</version>
   <scope>runtime</scope>
  </dependency>

  <!-- HSQL -->
  <dependency>
   <groupId>org.hsqldb</groupId>
   <artifactId>hsqldb</artifactId>
   <version>1.8.0.10</version>
   <scope>runtime</scope>
  </dependency>

  <dependency>
   <groupId>joda-time</groupId>
   <artifactId>joda-time</artifactId>
   <version>${jodatime.version}</version>
  </dependency>

  <dependency>
   <groupId>org.aspectj</groupId>
   <artifactId>aspectjweaver</artifactId>
   <version>${aspectj.version}</version>
   <scope>runtime</scope>
  </dependency>

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

  <dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-simple</artifactId>
   <version>1.1.0</version>
  </dependency>

 </dependencies>

 <repositories>
  <repository>
   <id>repository.springframework.maven.release</id>
   <name>Spring Framework Maven Release Repository</name>
   <url>http://maven.springframework.org/release</url>
  </repository>
  <repository>
   <id>repository.springframework.maven.milestone</id>
   <name>Spring Framework Maven Milestone Repository</name>
   <url>http://maven.springframework.org/milestone</url>
  </repository>
  <repository>
   <id>repository.springframework.maven.snapshot</id>
   <name>Spring Framework Maven Snapshot Repository</name>
   <url>http://maven.springframework.org/snapshot</url>
  </repository>
  <repository>
   <id>jboss</id>
   <name>JBoss repository</name>
   <url>https://repository.jboss.org/nexus/content/repositories/releases</url>
  </repository>
 </repositories>

 <pluginRepositories>
  <pluginRepository>
   <id>repository.plugin.springsource.release</id>
   <name>SpringSource Maven Repository</name>
   <url>http://repository.springsource.com/maven/bundles/release</url>
  </pluginRepository>
 </pluginRepositories>

</project>

10,副POM.xml
<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>

 <artifactId>spring-data-jpa-showcase</artifactId>

 <parent>
  <groupId>org.springframework.data.jpa.examples</groupId>
  <artifactId>spring-data-jpa-examples-parent</artifactId>
  <version>1.0.0.BUILD-SNAPSHOT</version>
  <relativePath>../pom.xml</relativePath>
 </parent>

 <name>Spring Data JPA showcase</name>
 <description>Sample project showing how Spring Data JPA eases implementing repositories over a plain JPA/Spring approach</description>

 <properties>
  <querydsl.version>2.1.1</querydsl.version>
 </properties>

 <build>
  <resources>
   <resource>
    <directory>src/main/resources</directory>
   </resource>
   <resource>
    <directory>src/snippets/resources</directory>
   </resource>
  </resources>
  <plugins>

   <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <version>1.5</version>
    <executions>
     <execution>
      <id>add-source</id>
      <phase>generate-sources</phase>
      <goals>
       <goal>add-source</goal>
      </goals>
      <configuration>
       <sources>
        <source>${basedir}/src/snippets/java</source>
       </sources>
      </configuration>
     </execution>
     <execution>
      <id>add-test-source</id>
      <phase>generate-sources</phase>
      <goals>
       <goal>add-test-source</goal>
      </goals>
      <configuration>
       <sources>
        <source>${basedir}/src/test-snippets/java</source>
       </sources>
      </configuration>
     </execution>
    </executions>
   </plugin>

   <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.4.3</version>
    <configuration>
     <excludes>
      <exclude>**/snippets*.java</exclude>
     </excludes>
    </configuration>
   </plugin>
  </plugins>
 </build>

 <profiles>
  <profile>
   <id>querydsl</id>
   <activation>
    <activeByDefault>true</activeByDefault>
   </activation>
   <dependencies>
    <!-- QueryDsl -->
    <dependency>
     <groupId>com.mysema.querydsl</groupId>
     <artifactId>querydsl-apt</artifactId>
     <version>${querydsl.version}</version>
     <scope>provided</scope>
    </dependency>

    <dependency>
     <groupId>com.mysema.querydsl</groupId>
     <artifactId>querydsl-jpa</artifactId>
     <version>${querydsl.version}</version>
    </dependency>

    
   </dependencies>

   <repositories>
    <repository>
     <id>querydsl</id>
     <name>QueryDsl</name>
     <url>http://source.mysema.com/maven2/releases</url>
    </repository>
   </repositories>

   <build>
    <plugins>
     <plugin>
      <groupId>com.mysema.maven</groupId>
      <artifactId>maven-apt-plugin</artifactId>
      <version>1.0</version>
      <executions>
       <execution>
        <phase>generate-sources</phase>
        <goals>
         <goal>process</goal>
        </goals>
        <configuration>
         <outputDirectory>target/generated-sources/queries</outputDirectory>
         <processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor>
        </configuration>
       </execution>
      </executions>
     </plugin>
    </plugins>
   </build>
  </profile>
 </profiles>

</project>


 

分享到:
评论

相关推荐

    Maven应用实战源码 配套源码

    ** Maven应用实战源码分析 ** 在Java开发领域,Maven是一个不可或缺的构建工具,它极大地简化了项目管理和构建过程。《Maven应用实战》这本书由杨式文和孙会军编著,提供了丰富的实践案例和详尽的解析,帮助读者...

    maven应用介绍

    ### Maven应用介绍 #### Maven概述 Maven是一个广泛应用于Java项目的自动化构建工具,它通过一套标准化的方法和流程,简化了项目构建的过程。Maven的核心设计理念是“约定优于配置”,这使得开发者无需过多地关注...

    Maven 实战(361)_12804356.pdf

    Maven 实战(361)_12804356.pdf

    使用Docker部署 spring-boot maven应用的方法

    本文介绍了使用Docker部署 spring-boot maven应用,分享给大家,具体如下: 部署过程分为以下几个步骤: 创建一个简单的spring-boot应用 打包运行应用 容器化应用 在pom文件中添加docker支持 创建docker镜像 ...

    使用Maven整合ssm

    【SSM整合与Maven应用】 SSM框架指的是Spring、SpringMVC和MyBatis的集成,这是一种常见的Java企业级应用开发架构。Maven作为项目管理工具,是SSM整合的关键,它帮助开发者管理和构建项目,确保依赖关系的正确解决...

    Maven权威指南中文版pdf(高清带完整目录)

    在Maven的实战应用中,创建一个简单的Maven项目首先需要定义项目的基本信息,比如项目名称、版本号、依赖关系等。然后使用Maven的生命周期管理命令来执行构建过程,比如编译、测试、打包等。项目的信息可以自定义,...

    简单的Java Maven应用

    简单的Java Maven应用 一个使用Maven的简单Java应用程序,可与CloudBees CI Workshop一起使用。 与该存储库一起使用的CloudBees CI管道模板在每个分支中都需要一个特定的文件,以便模板作业对该分支进行索引和处理...

    Maven打包实战.zip

    在默认阶段,我们关注的主要目标有`compile`(编译源代码)、`test`(运行单元测试)、`package`(打包应用)、`install`(将构建的软件安装到本地仓库)和`deploy`(将最终的软件部署到远程仓库)。 在Maven中,...

    有关如何使用 Jenkins 通过 Maven 构建简单 Java 应用程序的入门教程 .zip

    有关如何使用 Jenkins 通过 Maven 构建简单 Java 应用程序的入门教程。简单的 Java Maven 应用程序此存储库用于 Jenkins 用户文档中的使用 Maven 构建 Java 应用程序 教程。该存储库包含一个简单的 Java 应用程序,...

    Maven the definitive guide

    本书深入探讨了Maven的核心概念、安装配置、项目构建、依赖管理以及插件使用等多个方面,旨在为开发者提供全面且深入的Maven应用指导。 ### Maven的核心概念 #### Maven是什么? Maven是一种项目管理和综合工具,...

    java_poc:Java POC MAVEN应用程序

    【Java POC MAVEN应用程序详解】 Java Proof of Concept (POC) MAVEN应用程序是一种使用Java编程语言和Maven构建工具创建的小型实验性项目,旨在验证特定技术、概念或功能的有效性和可行性。在这个项目中,开发者...

    Maven权威指南中文版.pdf

    Apache Maven是一个非常流行的项目管理和构建自动化工具,它广泛应用于Java项目中。对于初学者来说,Maven可以帮助他们理解项目结构、管理依赖关系,并自动化构建和测试过程。Maven将项目构建成可发布的构件,同时还...

    maven-3.2.5 java的jar仓库带说明ppt

    "Maven in action" 这本书可能是介绍 Maven 实战应用的资源,它深入讲解了如何将 Maven 应用于实际项目,包括最佳实践、高级话题和复杂场景的解决方案。 ** Maven 权威指南 ** "Maven 权威指南" 可能是全面了解 ...

    Maven笔记与资料.zip

    学习这些资料有助于提升你在实际项目中的Maven应用能力,解决遇到的问题,并优化构建流程。 综上所述,Maven是一个强大的项目管理和构建工具,通过POM和生命周期,为Java开发提供了标准化的流程。熟练掌握Maven能...

    Maven实战.pdf

    通过这本书,开发者可以学习如何利用Maven提高项目的管理效率,如何编写Maven插件和Archetype项目骨架,以及如何将Maven应用于实际项目中,促进团队协作和项目构建。 综上所述,《Maven实战》是一本全面覆盖Maven...

    maventest2.rar_XBKC_maven_nutsjfm

    这个压缩包可能是一个最小化的Maven Web项目,用于展示如何在Eclipse中设置和运行一个简单的Maven应用。用户可能需要通过Eclipse导入这个项目,然后配置Maven构建,最后运行或调试index.jsp来查看结果。

    Maven3实战笔记(整合)

    总之,Maven3实战笔记(整合)不仅涵盖了Maven的基本原理和核心功能,还深入探讨了如何将Maven应用于实际项目中,解决常见的构建问题,提高构建效率和项目质量。对于Java开发者而言,熟练掌握Maven的使用技巧,将大大...

Global site tag (gtag.js) - Google Analytics