idea中target中的.class源代码文件 不及时更新 需要手动启服务 才刷新

本文指导如何在IntelliJIDEA中启用自动编译功能,以确保源文件修改后target目录的class文件能及时更新,需在设置中检查Buildprojectautomatically选项。
摘要由CSDN通过智能技术生成

在IDEA中,target目录下的class源文件不及时更新可能是因为IDEA的自动编译功能被禁用了。默认情况下,IDEA会在保存文件时自动编译并更新target目录下的class文件。但是,如果自动编译功能被禁用,你需要手动启用服务器来刷新class文件。

要启用自动编译功能,请按照以下步骤进行操作:

  1. 打开IDEA的设置(File -> Settings)。
  2. 在设置窗口中,选择"Build, Execution, Deployment" -> “Compiler”。
  3. 在右侧的面板中,确保"Build project automatically"选项被勾选上。
  4. 点击"Apply"或"OK"按钮保存设置。

这样,当你保存文件时,IDEA会自动编译并更新target目录下的class文件,无需手动启用服务器来刷新。

在Ubuntu系统,使用IntelliJ IDEAIdeaVim插件)开发WordCount程序,处理有界流数据源通常会涉及到Hadoop Streaming,它允许用户使用简单的文本工具作为MapReduce作业的输入和输出。这里我们假设您想从文件读取数据。 首先,确保安装了Java、Hadoop和相关的IDEA配置。以下是一个简单的步骤: 1. **创建项目**: - 创建一个新的Maven Java项目,命名为`wordcount`。 - 添加Hadoop的依赖到pom.xml文件: ```xml <dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-streaming</artifactId> <version>3.x.y</version> <scope>provided</scope> </dependency> </dependencies> ``` 替换`x.y`为实际版本号。 2. **编写Mapper**: `Mapper.java`: ```java import java.io.IOException; public class Mapper { private final static String INPUT_FORMAT = "%s %s"; private int wordCount; public void map(String line, Context context) throws IOException, InterruptedException { String[] words = line.split(" "); for (String word : words) { if (!word.isEmpty()) { wordCount++; context.write(word, new LongWritable(1)); } } } @Override protected void cleanup(Context context) throws IOException, InterruptedException { context.write(null, new IntWritable(wordCount)); } } ``` 3. **编写Reducer**: `Reducer.java`: ```java import java.io.IOException; public class Reducer { private IntWritable count = new IntWritable(); private Text word = new Text(); public void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException { int sum = 0; for (IntWritable value : values) { sum += value.get(); } count.set(sum); context.write(key, count); } } ``` 4. **编写Driver**: `Driver.java`: ```java import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; public class WordCountDriver { public static void main(String[] args) throws Exception { Configuration conf = new Configuration(); Job job = Job.getInstance(conf, "word count"); job.setJarByClass(WordCountDriver.class); job.setMapperClass(Mapper.class); job.setCombinerClass(Reducer.class); job.setReducerClass(Reducer.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); FileInputFormat.addInputPath(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); System.exit(job.waitForCompletion(true) ? 0 : 1); } } ``` 5. **运行WordCount**: 在命令行,进入项目的`target/classes`目录,然后运行: ```sh $ hadoop jar wordcount.jar Driver input.txt output.txt ``` 这里的`input.txt`是要分析的文件名,`output.txt`是结果将被保存的地方。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值