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,選擇那個大的

 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com