eclipse和scala整合,打包配置文件及打包步骤

我写的是maven项目,pom文件为:

  1 <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">
  2   <modelVersion>4.0.0</modelVersion>
  3   <groupId>kafkaStreaming</groupId>
  4   <artifactId>kafkaStreaming</artifactId>
  5   <version>0.0.1-SNAPSHOT</version>
  6   <properties>
  7         <maven.compiler.source>1.7</maven.compiler.source>
  8         <maven.compiler.target>1.7</maven.compiler.target>
  9         <encoding>UTF-8</encoding>
 10         <scala.version>2.10.4</scala.version>
 11         <spark.version>1.6.3</spark.version>
 12         <hadoop.version>2.6.4</hadoop.version>
 13         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 14     </properties>
 15 
 16     <dependencies>
 17         <dependency>
 18             <groupId>org.scala-lang</groupId>
 19             <artifactId>scala-library</artifactId>
 20             <version>${scala.version}</version>
 21             <scope>compile</scope>
 22         </dependency>
 23 
 24         <dependency>
 25             <groupId>org.apache.spark</groupId>
 26             <artifactId>spark-core_2.10</artifactId>
 27             <version>${spark.version}</version>
 28         </dependency>
 29 
 30         <dependency>
 31             <groupId>org.apache.hadoop</groupId>
 32             <artifactId>hadoop-client</artifactId>
 33             <version>${hadoop.version}</version>
 34         </dependency>
 35 
 36         <dependency>
 37             <groupId>org.apache.spark</groupId>
 38             <artifactId>spark-sql_2.10</artifactId>
 39             <version>${spark.version}</version>
 40         </dependency>
 41 
 42         <dependency>
 43             <groupId>org.apache.spark</groupId>
 44             <artifactId>spark-streaming_2.10</artifactId>
 45             <version>${spark.version}</version>
 46         </dependency>
 47 
 48         <dependency>
 49             <groupId>dom4j</groupId>
 50             <artifactId>dom4j</artifactId>
 51             <version>1.6.1</version>
 52         </dependency>
 53 
 54         <dependency>
 55             <groupId>org.apache.spark</groupId>
 56             <artifactId>spark-streaming-kafka_2.10</artifactId>
 57             <version>1.6.1</version>
 58         </dependency>
 59 
 60         <dependency>
 61             <groupId>org.apache.spark</groupId>
 62             <artifactId>spark-streaming-flume_2.10</artifactId>
 63             <version>${spark.version}</version>
 64         </dependency>
 65         <dependency>
 66             <groupId>log4j</groupId>
 67             <artifactId>log4j</artifactId>
 68             <version>1.2.12</version>
 69         </dependency>
 70         <dependency>
 71             <groupId>com.google.code.gson</groupId>
 72             <artifactId>gson</artifactId>
 73             <version>2.5</version>
 74         </dependency>
 75         <dependency>
 76             <groupId>com.alibaba</groupId>
 77             <artifactId>fastjson</artifactId>
 78             <version>1.2.4</version>
 79         </dependency>
 80 
 81         <dependency>
 82             <groupId>redis.clients</groupId>
 83             <artifactId>jedis</artifactId>
 84             <version>2.8.0</version>
 85         </dependency>
 86         <!-- 2017-5-6添加hbase -->
 87         <!-- hbase依赖 -->
 88         <dependency>
 89             <groupId>org.apache.hbase</groupId>
 90             <artifactId>hbase-common</artifactId>
 91             <version>1.1.2</version>
 92         </dependency>
 93         <dependency>
 94             <groupId>org.apache.hbase</groupId>
 95             <artifactId>hbase-client</artifactId>
 96             <version>1.1.2</version>
 97         </dependency>
 98         <dependency>
 99             <groupId>org.apache.hbase</groupId>
100             <artifactId>hbase-server</artifactId>
101             <version>1.1.2</version>
102         </dependency>
103 
104         <dependency>
105             <groupId>org.apache.spark</groupId>
106             <artifactId>spark-hive_2.10</artifactId>
107             <version>${spark.version}</version>
108         </dependency>
109 
110         <!-- hive依赖 -->
111         <dependency>
112             <groupId>org.apache.hive</groupId>
113             <artifactId>hive-exec</artifactId>
114             <version>1.2.1</version>
115         </dependency>
116         <dependency>
117             <groupId>org.apache.hive</groupId>
118             <artifactId>hive-jdbc</artifactId>
119             <version>1.2.1</version>
120         </dependency>
121         <dependency>
122             <groupId>org.apache.hive</groupId>
123             <artifactId>hive-service</artifactId>
124             <version>1.2.1</version>
125         </dependency>
126         <!-- <dependency> <groupId>cn.itcast.spark</groupId> <artifactId>bigdata</artifactId> 
127             <version>2.0</version> </dependency> -->
128         <dependency>
129             <groupId>org.apache.zookeeper</groupId>
130             <artifactId>zookeeper</artifactId>
131             <version>3.4.6</version>
132         </dependency>
133         <!-- 添加oracle jdbc driver -->
134         <dependency>
135             <groupId>com.oracle</groupId>
136             <artifactId>ojdbc14</artifactId>
137             <version>10.2.0.5.0</version>
138         </dependency>
139         <dependency>
140             <groupId>commons-collections</groupId>
141             <artifactId>commons-collections</artifactId>
142             <version>3.2.2</version>
143         </dependency>
144         <dependency>
145             <groupId>commons-lang</groupId>
146             <artifactId>commons-lang</artifactId>
147             <version>2.6</version>
148         </dependency>
149         <dependency>
150             <groupId>org.apache.commons</groupId>
151             <artifactId>commons-lang3</artifactId>
152             <version>3.5</version>
153         </dependency>
154 
155         <dependency>
156             <groupId>com.google.guava</groupId>
157             <artifactId>guava</artifactId>
158             <version>18.0</version>
159         </dependency>
160         
161         <!-- kafka -->
162         <!-- <dependency>
163             <groupId>org.apache.kafka</groupId>
164             <artifactId>kafka_2.11</artifactId>
165             <version>0.11.0.0</version>
166         </dependency -->
167     </dependencies>
168 
169     <build>
170         <resources>
171             <resource>
172                 <directory>src/main/resources</directory>
173             </resource>
174         </resources>
175         <plugins>
176             <plugin>
177                 <groupId>org.apache.maven.plugins</groupId>
178                 <artifactId>maven-resources-plugin</artifactId>
179                 <configuration>
180                     <encoding>${project.build.sourceEncoding}</encoding>
181                 </configuration>
182                 <executions>
183                     <execution>
184                         <goals>
185                             <goal>copy-resources</goal>
186                         </goals>
187                     </execution>
188                 </executions>
189             </plugin>
190             <plugin>
191                 <groupId>net.alchim31.maven</groupId>
192                 <artifactId>scala-maven-plugin</artifactId>
193                 <version>3.2.2</version>
194                 <configuration>
195                     <recompileMode>incremental</recompileMode>
196                     <args>
197                         <arg>-target:jvm-1.7</arg>
198                     </args>
199                     <javacArgs>
200                         <javacArg>-source</javacArg>
201                         <javacArg>1.7</javacArg>
202                         <javacArg>-target</javacArg>
203                         <javacArg>1.7</javacArg>
204                     </javacArgs>
205                 </configuration>
206                 <executions>
207                     <execution>
208                         <id>scala-compile-first</id>
209                         <phase>process-resources</phase>
210                         <goals>
211                             <goal>compile</goal>
212                         </goals>
213                         <configuration>
214                             <args>
215                                 <arg>-make:transitive</arg>
216                                 <arg>-dependencyfile</arg>
217                                 <arg>${project.build.directory}/.scala_dependencies</arg>
218                             </args>
219                         </configuration>
220                     </execution>
221                     <execution>
222                         <id>scala-test-compile</id>
223                         <phase>process-test-resources</phase>
224                         <goals>
225                             <goal>testCompile</goal>
226                         </goals>
227                         <configuration>
228                             <args>
229                                 <arg>-make:transitive</arg>
230                                 <arg>-dependencyfile</arg>
231                                 <arg>${project.build.directory}/.scala_dependencies</arg>
232                             </args>
233                         </configuration>
234                     </execution>
235                 </executions>
236             </plugin>
237             <plugin>
238                 <groupId>org.apache.maven.plugins</groupId>
239                 <artifactId>maven-compiler-plugin</artifactId>
240                 <configuration>
241                     <source>1.7</source>
242                     <target>1.7</target>
243                 </configuration>
244                 <executions>
245                     <execution>
246                         <phase>compile</phase>
247                         <goals>
248                             <goal>compile</goal>
249                         </goals>
250                     </execution>
251                 </executions>
252             </plugin>
253             <plugin>
254                 <groupId>org.apache.maven.plugins</groupId>
255                 <artifactId>maven-shade-plugin</artifactId>
256                 <version>2.4.3</version>
257                 <executions>
258                     <execution>
259                         <phase>package</phase>
260                         <goals>
261                             <goal>shade</goal>
262                         </goals>
263                         <configuration>
264                             <filters>
265                                 <filter>
266                                     <artifact>*:*</artifact>
267                                     <excludes>
268                                         <exclude>META-INF/*.SF</exclude>
269                                         <exclude>META-INF/*.DSA</exclude>
270                                         <exclude>META-INF/*.RSA</exclude>
271                                     </excludes>
272                                 </filter>
273                             </filters>
274                         </configuration>
275                     </execution>
276                 </executions>
277             </plugin>
278 
279         </plugins>
280         <pluginManagement>
281             <plugins>
282                 <!--This plugin's configuration is used to store Eclipse m2e settings 
283                     only. It has no influence on the Maven build itself. -->
284                 <plugin>
285                     <groupId>org.eclipse.m2e</groupId>
286                     <artifactId>lifecycle-mapping</artifactId>
287                     <version>1.0.0</version>
288                     <configuration>
289                         <lifecycleMappingMetadata>
290                             <pluginExecutions>
291                                 <pluginExecution>
292                                     <pluginExecutionFilter>
293                                         <groupId>
294                                             net.alchim31.maven
295                                         </groupId>
296                                         <artifactId>
297                                             scala-maven-plugin
298                                         </artifactId>
299                                         <versionRange>
300                                             [3.1.6,)
301                                         </versionRange>
302                                         <goals>
303                                             <goal>compile</goal>
304                                             <goal>testCompile</goal>
305                                         </goals>
306                                     </pluginExecutionFilter>
307                                     <action>
308                                         <ignore></ignore>
309                                     </action>
310                                 </pluginExecution>
311                             </pluginExecutions>
312                         </lifecycleMappingMetadata>
313                     </configuration>
314                 </plugin>
315                 <!-- 可运行jar包 -->
316                 <plugin>
317                 <groupId>org.apache.maven.plugins</groupId>
318                 <artifactId>maven-shade-plugin</artifactId>
319                 <executions>
320                     <execution>
321                         <phase>package</phase>
322                         <goals>
323                             <goal>shade</goal>
324                         </goals>
325                         <configuration>
326                             <transformers>
327                                 <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
328                                     <mainClass>kafkaSparkStream.KafkaToSpark</mainClass>
329                                 </transformer>
330                             </transformers>
331                             <filters> 
332                                 <filter>
333                                     <artifact>*:*</artifact>
334                                     <excludes>
335                                         <exclude>META-INF/*.SF</exclude>
336                                         <exclude>META-INF/*.DSA</exclude>
337                                         <exclude>META-INF/*.RSA</exclude>
338                                     </excludes>
339                                 </filter>
340                             </filters>
341                         </configuration>
342                     </execution>
343                 </executions>
344             </plugin>
345             </plugins>
346         </pluginManagement>
347     </build>
348   
349 
350 </project>

打包步骤:

因为pom文件中已经写有全类名,所以打的包是可运行的jar包

《1》右键pom文件

《2》先clean一下

《3》、在install

《4》、打包好,选择jar,选择那个大的

 

posted @ 2017-09-13 09:51  kwz  Views(2938)  Comments(0Edit  收藏  举报