源文件与模块生成时的文件不同

文件与模块生成时的文件不同。仍要让调试器使用它吗?
在用 Microsoft Visual C++ 2008 调试程序时,设置的断点竟然无效!断点是虚的,根本不起作用!
如果单步运行,使用F11进入,则弹出对话框,源文件与模块生成时的文件不同。仍要让调试器使用它吗?
选择是,可以进入到文件中,但设置的断点是虚的,无法调试。


在网上搜罗了一下,终于解决了!
方法如下,
在最上面一排的菜单栏选择工具-> 选项
在弹出窗口中选择调试-> 常规
把“要求源文件和版本匹配”的勾勾去掉
然后去掉“地址级的调试”的勾勾(这样就不会出现反汇编代码了)


这下就OK了!!!


from: http://lishalongfa.blog.163.com/blog/static/38971473201162861411383/

<think>好的,用户的问题是关于在使用Maven或Gradle构建项目,只生成了JAR包而没有生成源码文件的问题。我需要根据提供的引用资料来找出原因和解决方案。 首先,用户提到构建过程中未生成源文件生成了JAR文件。根据引用[1],Gradle项目可以通过在build.gradle中添加配置来生成Javadoc和源码JAR。例如,使用`withSourcesJar()`可以生成源码JAR。可能用户的项目中没有正确配置这些选项,导致没有生成源码文件。同样,Maven可能需要配置maven-source-plugin来生成源码包,用户可能没有添加这个插件。 接下来,引用[5]提到在打JAR包如何处理本地依赖库,但用户的问题是关于生成源码文件。不过,这说明构建工具的配置对生成产物有直接影响。如果用户没有显式配置生成源码的任务或插件,构建工具默认可能不会生成源码JAR。 然后,引用[3]提到Gradle作为替代Maven的工具,解决了Maven的一些痛点。可能用户在使用Gradle没有正确启用源码生成功能,或者在Maven中缺少对应的插件配置。 需要检查的步骤:对于Gradle项目,确保build.gradle中配置了`java { withSourcesJar() }`,并执行了相应的构建任务(如assemble)。对于Maven项目,需要在pom.xml中添加maven-source-plugin的配置,并执行mvn package。 可能的原因包括配置遗漏、构建命令不正确,或者构建脚本被覆盖导致配置未生效。需要引导用户检查构建文件,确认相关插件和任务的存在,并运行正确的命令。</think>### 问题分析:构建工具未生成源码文件的原因及解决方案 #### 1. Gradle项目未生成源码文件 **原因**: Gradle默认不会自动生成源码JAR文件,需要显式声明`sourcesJar`任务。如果`build.gradle`中没有配置`withSourcesJar()`,则只会生成主JAR文件[^1]。 **解决方案**: 在`build.gradle`的`java`配置块中添加以下代码: ```gradle java { withJavadocJar() // 可选:生成文档JAR withSourcesJar() // 必选:生成源码JAR } ``` 然后执行命令: ```bash gradle assemble # 或 gradle build ``` 生成的源码文件路径:`build/libs/项目名-版本-sources.jar`[^5]。 --- #### 2. Maven项目未生成源码文件 **原因**: Maven默认仅打包主代码和资源文件,源码包需通过`maven-source-plugin`插件生成。若未配置该插件,则不会生成源码JAR[^3]。 **解决方案**: 在`pom.xml`中添加插件配置: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>3.2.1</version> <executions> <execution> <id>attach-sources</id> <phase>package</phase> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> </plugins> </build> ``` 执行命令: ```bash mvn clean package ``` 生成的源码文件路径:`target/项目名-版本-sources.jar`[^5]。 --- #### 3. 其他可能原因 - **构建命令错误**:未调用生成源码的任务(如Gradle的`assemble`或Maven的`package`)。 - **配置覆盖**:多模块项目中子模块覆盖了父级配置,导致源码任务未生效。 - **构建缓存问题**:尝试清理缓存后重新构建(Gradle: `gradle clean`,Maven: `mvn clean`)[^2][^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值