使用shell脚本提示找不到java的class

来源:8-4 将ETL的数据加载到Hive表

Zu3zz

2019-09-07

图片描述
项目路径如下 检查过了是没有问题的
com.zth.bigdata.hadoop.mapreduce.ecproject.mrv2.ETLApp
图片描述
这种 情况是需要重新打一个jar包呢 还是路径有问题呀
java基础不太好 老师多担待

写回答

2回答

Michael_PK

2019-09-07

是需要先打包才能执行的。建议先把javase的东西学下,不然也没法玩转大数据

0
1
Zu3zz
非常感谢!
2019-09-07
共1条回复

爱吃彩虹糖的猫

2020-08-01

我也遇到过一个shell的问题,

问题描述:etl.sh运行提示提示说classNotFound,如图一。

环境:IDEA 2020.1, JDK1.8, MAVEN 3.6.3

一开始我以为我的lang3的版本格式不对,但是真正的原因是,按照老师原来的配置是没法打包依赖的jar包进去的。我上网查了下,有几个插件可以将依赖打进去。我这里用了 maven-assembly-plugin 这个插件。官网使用方法网址:http://maven.apache.org/plugins/maven-assembly-plugin/usage.html

接着,你会看到图三那个地方会生成了一个hadoop-train-v2-1.0-jar-with-dependencies.jar。

接着,上传这个jar包(可以重命名法为跟老师一样),或者改etl.sh这个

留给跟我一样在这踩了坑无法前进的小伙伴

```

<plugin>
       <!-- NOTE: We don't need a groupId specification because the group is
            org.apache.maven.plugins ...which is assumed by default.
        -->
       <!-- http://maven.apache.org/plugins/maven-assembly-plugin/usage.html -->
       <artifactId>maven-assembly-plugin</artifactId>
       <version>3.3.0</version>
       <configuration>
         <descriptorRefs>

            <!-- 这个地方是配置包含依赖的jar后缀名 -->
           <descriptorRef>jar-with-dependencies</descriptorRef>
         </descriptorRefs>
       </configuration>
       <executions>
         <execution>
           <id>make-assembly</id> <!-- this is used for inheritance merges -->
           <phase>package</phase>
           <goals>
             <goal>single</goal>
           </goals>
         </execution>
       </executions>
     </plugin>

```

//img.mukewang.com/szimg/5f2516d909b0e0e107480279.jpg

(图一)

//img.mukewang.com/szimg/5f2513ac096324fd07790891.jpg

(图二)

//img1.sycdn.imooc.com/szimg/5f2513e9094f5ace04620169.jpg

(图三)

0
4
爱吃彩虹糖的猫
回复
Michael_PK
了解,感谢老师
2020-08-01
共4条回复

Hadoop 系统入门+核心精讲

从Hadoop核心技术入手,掌握数据处理中ETL应用,轻松进军大数据

2397 学习 · 902 问题

查看课程