1、项目结构如下:
2、主要配置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>com.test</groupId>
<artifactId>test-kafka</artifactId>
<packaging>jar</packaging>
<name>test-kafka</name>
<url>http://maven.apache.org</url>
<version>1.0.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.8.0</artifactId>
<version>0.8.0-beta1</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.8.1</version>
</dependency>
<dependency>
<groupId>com.yammer.metrics</groupId>
<artifactId>metrics-core</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.3</version>
</dependency>
</dependencies>
<!-- <build> -->
<!-- <finalName>test-kafka-1.0</finalName> -->
<!-- <plugins> -->
<!-- <plugin> -->
<!-- <groupId>org.apache.maven.plugins</groupId> -->
<!-- <artifactId>maven-compile-plugin</artifactId> -->
<!-- <version>3.2</version> -->
<!-- <configuration> -->
<!-- <source>1.7</source> -->
<!-- <target>1.7</target> -->
<!-- <encoding>UTF-8</encoding> -->
<!-- </configuration> -->
<!-- </plugin> -->
<!-- <plugin> -->
<!-- <groupId>org.apache.maven.plugins</groupId> -->
<!-- <artifactId>maven-assembly-plugin</artifactId> -->
<!-- <version>2.5.3</version> -->
<!-- </plugin> -->
<!-- </plugins> -->
<!-- </build> -->
<!-- <build> -->
<!-- <finalName>test-kafka-1.0</finalName> -->
<!-- <resources> -->
<!-- <resource> -->
<!-- <directory>src/main/resources</directory> -->
<!-- <filtering>true</filtering> -->
<!-- </resource> -->
<!-- </resources> -->
<!-- <plugins> -->
<!-- <plugin> -->
<!-- <artifactId>maven-compiler-plugin</artifactId> -->
<!-- <version>2.3.2</version> -->
<!-- <configuration> -->
<!-- <source>1.7</source> -->
<!-- <target>1.7</target> -->
<!-- <encoding>UTF-8</encoding> -->
<!-- </configuration> -->
<!-- </plugin> -->
<!-- <plugin> -->
<!-- <artifactId>maven-resources-plugin</artifactId> -->
<!-- <version>2.4</version> -->
<!-- <configuration> -->
<!-- <encoding>UTF-8</encoding> -->
<!-- </configuration> -->
<!-- </plugin> -->
<!-- </plugins> -->
<!-- </build> -->
<build>
<pluginManagement></pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.test.kafka.FirstConsumer</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
网上找了很多种,最后一段可以行的通;
3、右键项目——>run as 选择maven install,打包完成后可以看到项目的target目录下多了两个jar包;
其中第一个jar包不包含项目依赖包,第二个项目包含依赖包(在com下)
然后运行jar包。命令 java -jar test-kafka-1.0.0-SNAPSHOT-jar-with-dependencies.jar ,如果是运行jar包下的main方法 需要制定 命令是:java -cp test-kafka-1.0.0-SNAPSHOT-jar-with-dependencies.jar com.test..kafka.Producer(执行main方法class文件路径)