【发布时间】:2018-02-09 17:19:57
【问题描述】:
我为浏览按钮下载了一张图片。我把它放在我的 maven 项目的 src/main/resources 文件夹中。在我的浏览操作中,这是我的课程代码:
package net.draconia.testcopier.ui.actions;
import java.awt.event.ActionEvent;
import java.net.URL;
import javax.swing.AbstractAction;
import javax.swing.ImageIcon;
import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils;
import net.draconia.testcopier.TestCopierController;
@Component
public class Browse extends AbstractAction
{
private static final long serialVersionUID = 6237458116383473511L;
private TestCopierController mObjController;
public Browse(final TestCopierController objController)
{
super();
URL objURL = Browse.class.getResource("./if_8_27829.png");
putValue(SMALL_ICON, new ImageIcon(objURL));
setController(objController);
}
public void actionPerformed(final ActionEvent objActionEvent)
{
getController().browseForBackupFolder();
}
protected TestCopierController getController()
{
return(mObjController);
}
protected void setController(final TestCopierController objController)
{
mObjController = objController;
}
}
问题是,当我尝试通过 Browse.class.getResource(...) 访问图像时,我在构造函数中得到了一个空值。我已经尝试在文件名之前使用“./”并且没有它 - 也只是裸文件名,我得到了相同的结果。这是我的 pom 文件:
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>net.draconia</groupId>
<artifactId>reedelseviertestcopier</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Reed Elsevier Test Copier</name>
<properties>
spring.version>4.3.2.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>${basedir}/src/main/resources</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
</build>
</project>
我不知道错误是否在我的 pom 文件中,为什么在 eclipse 中我无法看到图像。我正要尝试实现我的项目以生成一个可执行的 jar,以便我可以尝试在命令行中运行它以生成输出窗口等,但我认为它至少应该在 eclipse 中工作,你知道吗?有什么想法吗?
【问题讨论】: