Source not found

本文介绍了MyEclipse的多种实用技巧,包括设置统一编码、增强代码提示功能、添加Javadoc等,帮助开发者提高效率。

      MyEclipse 6.5 Attach Source时说与version不匹配的也会not found。看了CVS的那个,没弄懂。src也没有下完。比较晚了,明天继续整。

      Cannot find bean: "org.apache.struts.taglib.html.BEAN" in any scope

这个错误大部份情况是你绑定的控件没有放到<html:form>标签里面

 

 

 

MyEclipse使用之一:改变MyEclipse或者Eclipse新建文件的默认编码

Eclipse的:

window-preferences-General-ContentType 的右边窗口,改成gbk也可以,utf-8也行。

MyEclipse的:

window-preferences-myEclipse-files and editors-jsp里面有encoding,改这里为ISO10646/UTF-8.

Eclipse和Java文件编码设定

如果在网上搜索文件编码问题,您可以得到很多的解答,甚至有的是号称终极解决方案,所以您可能不会遇到编码问题了,那么为什么我还要写这篇文章呢?因为我在两个平台下面工作,默认的编码是不一样的,所以需要跳整一下才行。

看看Eclipse的设定吧,如果你下载了Eclipse,什么都不做,就开始创建工程,编码,一切都没有问题,可是你可能将你的工程移动到linux下面开发了,原因就是你开始厌倦winxp了,爱上了ubuntu。这个时候问题就来了。打开你在winxp下面的Eclipse,点击Window--﹥Preferences,展开General--﹥WorkSpace,看到左边的Text file encoding没有,默认的设定是简体中文编码(gbk,gb2312这样),而linux下面呢,是UTF-8。

现在大家已经了解它们的区别了,还等什么,现在开始将你所有WorkSpace的文件编码都设定成UTF-8吧,你将拥有在任何时候都能正常显示的Java文件,没有乱码。

项目编码

但是你会说,以前的项目已经是其他编码,你已经不想修改了,只想从现在开始拥抱UTF-8,这也是可以的,当你新建一个项目,希望使用和WorkSpace不同编码,请右击你的项目,选择Properties,点击Resource,看到Text file encoding了吧,点击Other,选择UTF-8,你非常需要这样的编码格式,不是吗?

JSP编码

这样就完了吗?没有,可能jsp才是你打交道最多的文件,你不是也希望所有的jsp文件都是UTF-8吗?那就接着看吧。还是点击Window--﹥Preferences,这一次是展开Web and XML--﹥JSP Files,看到Encoding了吧,赶快选择UTF-8吧。如果可以,将你的HTML,CSS等等这些文件的设定都弄成UTF-8吧,你将会拥有完整的UTF-8的解决方案。

最后看看你设定之后的效果吧。新建一个JSP文件,在第二步选择任意一个jsp的模板。然后看看生成的jsp文件吧,全部都是UTF-8了,现在你可以放心了,你的文件都是UTF-8的了。

MyEclipse使用之二:Struts2国际化乱码问题解决收藏

开发工具:MyEclipse 6.01,所有的文件编码都设置为utf-8。所有过程正常开发结束后。将messagesource.propertis本地化:

native2ascii messagesource.propertis messagesource_zh_CN.propertis

运行,发现页面上从资源文件中读取的内容仍然为乱码。

解决方法:本地化时指定编码方式即可,如下:

  1. native2ascii -encoding UTF-8 messagesource.propertis messagesource_zh_CN.propertis 

MyEclipse使用之三:取消myeclipse quick install对话框

我用的是myeclipse6.0 今天打开的时候出现myeclipse quick install对话框,这个对话框是做什么的?怎么才能取消?哪位知道啊,指点一下

首先你把 那个myeclipse quick install对话框 的勾勾去掉

再把Windows ﹥ Preferences ﹥ Install/Update ﹥ Automatic Updates and uncheck Automatically Find New Updates and Notify Me 的勾勾去掉。

这样就好了。

MyEclipse使用之四:增强Eclipse ,MyEclipse 的代码自动提示功能

一般默认情况下,Eclipse ,MyEclipse 的代码提示功能是比Microsoft Visual Studio的差很多的,主要是Eclipse,MyEclipse本身有很多选项是默认关闭的,要开发者自己去手动配置。如果开发者不清楚的话,就不知道Eclipse,MyEclipse的代码提示功能一样能像Microsoft Visual Studio的代码提示功能一样强大。

先举个简单的例子说明问题所在,例如在Eclipse,MyEclipse代码里面,打个foreach,switch等这些,是无法得到代码提示的(不信自己试试),其他的就更不用说了,而在Microsoft Visual Studio里面是得到非常友好的代码提示的。实际上,Eclipse,MyEclipse代码里面的代码提示功能默认的一般是点“.”,一般是有了点“.”,才会有代码提示。

原理:“Auto Activation triggers for java”这个选项就是指触发代码提示的的选项,把“.”改成“.abcdefghijklmnopqrstuvwxyz(,”的意思,就是指遇到26个字母和.,(这些符号就触发代码提示功能了。(具体后面有说,放心)

增强Eclipse,MyEclipse的代码提示功能,具体怎么样来配置?

下面开始说步骤(注意本人用的MyEclipse 6.0.1做讲解):

1.打开MyEclipse 6.0.1,然后“window”→“Preferences”

2.选择“java”,展开,“Editor”,选择“Content Assist”。

3.选择“Content Assist”,然后看到右边,右边的“Auto-Activation”下面的“Auto Activation triggers for java”这个选项。其实就是指触发代码提示的就是“.”这个符号。

4.“Auto Activation triggers for java”这个选项,在“.”后加abc字母,方便后面的查找 修改。然后“apply”,点击“OK”。

5.然后,“File”→“Export”,在弹出的窗口中选择“Perferences”,点击“下一步”。

6.选择导出文件路径,本人导出到桌面,输入“test”作为文件名,点击“保存”。

7.在桌面找到刚在保存的文件“test.epf”,右键选择“用记事本打开”。

8.可以看到很多配置MyEclipse 6.0.1的信息

9.按“ctrl+F”快捷键,输入“.abc”,点击“查找下一个”。

10.查找到“.abc”的配置信息.

11.把“.abc”改成“.abcdefghijklmnopqrstuvwxyz(,”,保存,关闭“test.epf”。

12.回到MyEclipse 6.0.1界面,“File”→“Import”,在弹出的窗口中选择“Perferences”,点击“下一步”,选择刚在已经修改的“test.epf”文件,点击“打开”,点击“Finish”。该步骤和上面的导出步骤类似。

13.最后当然是进行代码测试了。

随便新建一个工程,新建一个类。在代码输入switch,foreach等进行测试。你立即会发现,果然出了提示,而且无论是敲哪个字母都会有很多相关的提示了,很流畅,很方便。

总结:“Auto Activation triggers for java”这个选项就是指触发代码提示的的选项,把“.”改成“.abcdefghijklmnopqrstuvwxyz(,”的意思,就是指遇到26个字母和.,(这些符号就触发代码提示功 能了。

顺便说一下,修改类名,接口名等以不同颜色高亮的,可以这样配置在“java”→“enditor”→“syntac”,右边展开“java”→“classes”,勾上“Enable”这个选项,选择自己喜欢的颜色即可。

当然还有其他相关的颜色配置。具体就不说啦。其实,在“Preferences”这个东西,有很多可以配置的东西,使得MyEclipse 优化的,具体的就要各个人根据自己个人喜好去配置了。

MyEclipse使用之五:如何在MyEclipse添加javadoc(SUN 源代码)

按住CTRL,点击一方法时出现:

  1. The jar file rt.jar has no source attachment.  
  2. You can attach the source by cliking Attack Source below: 

解决方法:

因为rt的source在jdk目录的src.zip文件里,所以找到jdk目录下的src.zip就行了。

一般MyEclipse没有src.zip.

你要用到JDK安装包的路径,比如你的JDK安装路径:C:/Program Files/Java/jdk1.5.0_15

那就选择;C:/Program Files/Java/jdk1.5.0_15/src.zip 即可

MyEclipse使用之六:在用MyEclipse建JSP页面的时候自动生成的一些代码是什么意思?

在用MyEclipse建JSP页面的时候自动生成的一些代码是什么意思?

  1. ﹤%  
  2. String path = request.getContextPath();  
  3. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  4. %﹥ 

以上这两段代码是干什么用的啊?什么意思

还有pageEncoding="ISO-8859-1"和charset="GBK"有什么区别?

上面的2段代码是得到JSP文件的URL的,

pageEncoding是指你JSP文件的保存编码,就是说你JSP文件以什么编码保存在硬盘上的,

charset="GBK"是你JSP输入输出的编码,很多服务器在没有找到pageEncoding时,有charset代替pageEncoding

MyEclipse使用的一些心得就介绍到这里,希望对你有所帮助。

<think>根据问题描述,用户遇到了“source not found”错误,这通常发生在调试Java代码时,IDE无法找到源代码。以下将详细解释该问题并提供解决方案。 ### 问题分析:为什么出现"Source not found" 1. **根本原因**:IDE在调试过程中尝试显示某个类的源代码,但该类的源代码未在IDE中关联。 2. **常见场景**: - 第三方库(如Spring、Hibernate)未附加源码 - 项目依赖的jar文件未包含源码 - 自定义库未正确配置源码路径 ### 解决方案 #### 方法1:为依赖库附加源码(推荐) 1. **手动下载并附加源码**: - 在IDE(如Eclipse、IntelliJ)中,右键点击项目 -> Maven -> Download Sources - 或手动下载jar包对应的源码包,并关联 2. **IntelliJ IDEA操作步骤**: - 打开Maven工具窗口(右侧边栏) - 点击`Download Sources`图标(或右键项目选择) 3. **Eclipse操作步骤**: - 右键项目 -> Maven -> Download Sources - 或配置Maven自动下载源码: ```xml <settings> <profiles> <profile> <id>downloadSources</id> <properties> <downloadSources>true</downloadSources> <downloadJavadocs>true</downloadJavadocs> </properties> </profile> </profiles> <activeProfiles> <activeProfile>downloadSources</activeProfile> </activeProfiles> </settings> ``` #### 方法2:忽略特定库的源码(临时方案) 在调试时遇到"Source not found"页面: - 点击`Edit Source Lookup Path...` -> 添加对应库的源码路径 - 或直接点击`Step Return`(F7)跳出当前方法 #### 方法3:检查项目构建配置 确保构建工具(Maven/Gradle)正确配置了源码: - **Maven配置**: ```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>verify</phase> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build> ``` - 执行命令:`mvn clean install -DskipTests` #### 方法4:检查IDE配置 1. **IntelliJ**: - Settings -> Build, Execution, Deployment -> Build Tools -> Maven -> Importing - 勾选`Automatically download: Sources`和`Documentation` 2. **Eclipse**: - Window -> Preferences -> Maven -> 勾选`Download Artifact Sources` ### 验证步骤 1. 重新导入Maven项目 2. 检查外部库的源码是否可用: - 在代码中按住Ctrl键点击类名,应跳转到源码 3. 重新启动调试 ### 特殊情况处理 如果问题仅出现在自定义库: - 确保源码jar已安装到本地仓库: ```bash mvn clean install -DskipTests ``` ### 示例:配置Maven自动下载源码 ```xml <!-- 在pom.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> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build> ``` §§相关问题§§: 1. 如何在Gradle项目中自动下载源码? 2. 调试Java程序时,如何跳过无法找到源码的库? 3. 如何为Eclipse手动附加第三方库的源码? 4. Maven依赖的作用域(scope)对源码下载有什么影响?</think>### 问题分析:解决 "Source not found" 错误 "Source not found" 错误通常发生在调试 Java 代码时,IDE 无法找到关联的源代码文件。以下是常见原因和解决方案: #### 主要原因: 1. **缺少依赖库的源代码**(最常见) 2. **项目构建配置问题** 3. **IDE 设置问题** 4. **调试配置错误** --- ### 解决方案: #### 1. 为依赖库附加源代码(Maven项目) ```xml <!-- 在 pom.xml 中添加依赖时,指定 classifier --> <dependency> <groupId>com.example</groupId> <artifactId>example-library</artifactId> <version>1.0.0</version> <classifier>sources</classifier> <!-- 关键行 --> </dependency> ``` **操作步骤:** 1. 在 IDE 中右键点击项目 -> Maven -> Download Sources and Documentation 2. 或者运行命令:`mvn dependency:sources` #### 2. 手动附加源代码(通用方法) **在 Eclipse 中:** 1. 打开 "Debug" 视图 2. 右键点击 "Edit Source Lookup..." 3. 点击 "Add..." -> "Java Project" 4. 选择包含源代码的项目 **在 IntelliJ IDEA 中:** 1. 打开 "Project Structure" (Ctrl+Alt+Shift+S) 2. 选择 "Libraries" 3. 找到目标库,点击 "+" 添加源代码 JAR 或目录 #### 3. 检查构建路径配置 确保源代码目录正确包含在构建路径中: ```java // 验证构建路径的示例代码 public class BuildPathChecker { public static void main(String[] args) { // 打印类加载器路径 System.out.println("Classpath: " + System.getProperty("java.class.path")); // 检查源代码是否存在 File sourceFile = new File("src/main/java/com/example/MyClass.java"); System.out.println("Source exists: " + sourceFile.exists()); } } ``` #### 4. 清理并重建项目 在 IDE 中执行: 1. Project -> Clean 2. Maven -> Update Project (勾选 "Clean projects") 3. 重新构建项目 #### 5. 检查调试配置 确保调试配置正确: 1. 打开运行/调试配置 2. 检查 "Use classpath of module" 设置 3. 验证 "Working directory" 是否正确 --- ### 高级排查技巧: #### 1. 检查依赖关系 ```bash # 使用 Maven 查看依赖树 mvn dependency:tree # 检查特定依赖的源码是否存在 mvn dependency:get -Dartifact=groupId:artifactId:version:jar:sources ``` #### 2. 验证 IDE 设置 在 Eclipse 中: ``` Window -> Preferences -> Java -> Debug 取消勾选 "Suspend execution on uncaught exceptions" ``` 在 IntelliJ 中: ``` File -> Settings -> Build, Execution, Deployment -> Debugger 确保 "Java" 下的 "Always do smart step into" 已启用 ``` #### 3. 检查类文件与源代码匹配 ```java // 在调试时执行此代码验证 public class SourceVerifier { public static void verify(Class<?> clazz) { System.out.println("Class: " + clazz.getName()); System.out.println("Location: " + clazz.getProtectionDomain().getCodeSource().getLocation()); System.out.println("Source Debug Info: " + (clazz.getGenericInterfaces().length > 0 ? "Available" : "Missing")); } } ``` --- ### 防止问题重现的最佳实践: 1. **标准化项目结构**:始终使用 Maven/Gradle 标准目录布局 2. **版本控制**:确保所有源代码都提交到版本控制系统 3. **文档化依赖**:在 README 中注明特殊依赖配置 4. **持续集成**:配置 CI 服务器自动附加源码
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值