Я создаю приложение Java для связи через последовательный порт и в папке приложения у меня есть два ресурса, которые должны присутствовать во время выполнения. Первый - это изображение, которое используется в качестве заставки, а другое - файл конфигурации, который необходимо прочитать при запуске программы.Ссылка на файлы внутри JAR
Вот сокращенный вариант выхода из команды «дерева» в Linux, эти два файла, что мне нужно быть ссылки являются «commandSet.config» и «плескаться-screen2.png»
.
├── bin
│ ├──...
├── commandSet.config
├── app-manifest.txt
├── splash-screen2.png
└── src
├── events
│ └── InterfaceEvents.java
├── models
│ ├── Command.java
│ └── Phone.java
├── operations
│ ├── Application.java
│ ├── ...
└── views
├── CallDialog.java
├── SplashScreen.java
└── Window.java
я в настоящее время ссылки в следующих строках:
BufferedReader in = new BufferedReader(new FileReader("commandSet.config"));
и
JLabel image = new JLabel(new ImageIcon("splash-screen2.png"));
Это ж orks fine, когда я запускаю его из Eclipse, но как только я экспортирую в runnable JAR, файлы не перемещаются и, следовательно, неправильно указаны. Я попробовал переместить их в папку «src», в результате чего они были заархивированы в JAR, но я все еще не мог ссылаться на них.
Я довольно новичок в концепции экспорта проектов Java, поэтому, возможно, я пропустил что-то очевидное. Если бы кто-то мог показать мне лучший способ сделать это и лучший подход для будущих файловых систем проекта, я был бы очень благодарен. Ура!
Хорошо, где файлы должны храниться, чтобы ссылаться на них таким образом? –
В JAR или WAR, что вы развертываете свое приложение, конечно. Так как загрузчик классов выглядит в CLASSPATH, вам нужно, чтобы они были в CLASSPATH. В вашем JAR это находится в манифесте Class-Path. В вашей WAR, это папка WEB-INF/classes – duffymo
Хорошо, для справки, я работаю только с JAR. Я не совсем уверен, что вы имеете в виду, «вам нужно, чтобы они были в CLASSPATH»? У меня есть файл манифеста, который содержит следующее: Main-Class: operations.Application –