Как добавить ресурсы в путь к классам

Как добавить папку (например, папку ресурсов, содержащую искусство) в путь к классам проекта netbeans? сделать это вручную, отредактировав созданный NB файл jar проекта (то есть его файл MANIFEST.MF + копирование ресурсов вручную), но должен быть способ указать netbeans, что нужно помнить о ресурсах, не так ли?

Структура папок выглядит так:

/project/art/
/project/dist/lib/
/project/dist/art/
/project/dist/project.jar
/project/lib/
/project/src/

Я не хочу упаковывать изображения в банку, потому что я ' Я хотел бы, чтобы искусство было легко заменяемым. Если я добавлю художественную папку в папку src, тогда NB будет компилироваться нормально, но художественные ресурсы останутся в банке.

Добавление художественной папки в библиотеки проекта netbeans (Свойства -> Библиотеки -> Добавить JAR / папку) казалось не работать, потому что тогда у меня возникла ошибка «... \ project \ art - это каталог или его нельзя прочитать. Не копировать библиотеки ». что, в свою очередь, предотвращает копирование даже реальной папки библиотек.

Есть идеи?

С уважением не читать. Не копировать библиотеки ». что, в свою очередь, предотвращает копирование даже реальной папки библиотек.

Есть идеи?

С уважением не читать. Не копировать библиотеки ». что, в свою очередь, предотвращает копирование даже реальной папки библиотек.

Есть идеи?

С уважением Крис

2 Сделанные наблюдения, основанные на комментариях gpeche: a) Вместо того, чтобы указывать папку дополнительных ресурсов на вкладке «Выполнить», чем на вкладке «Компиляция» свойств проекта -> Библиотеки, похоже, не имеют большого значения в Netbeans (в настоящее время я использую 6.9.1) . Вывод (и, следовательно, ошибка) остается прежним, то есть ничего не копируется вообще:

Created dir: C:\Users\Chrisi\Desktop\vocabulary\VocabularyTrainer\dist
C:\Users\Chrisi\Desktop\vocabulary\VocabularyTrainer\art is a directory or can't be read. Not copying the libraries.
Not copying the libraries.
Building jar: C:\Users\Chrisi\Desktop\vocabulary\VocabularyTrainer\dist\VocabularyTrainer.jar

Еще один интересный аспект заключается в том, что в меню справки на панели «Библиотеки» ничего явно не упоминается относительно папок как библиотек. Возможно ли, что кнопка в Netbeans имеет ложное имя, то есть разрешены только настоящие jar-файлы?

б) Добавление папки ресурсов в список библиотек имеет влияние, добавляя еще одну запись в MANIFEST.MF . Пока - и это ' Как уже упоминалось, сгенерированная NB запись в MANIFEST.MF будет выглядеть как "lib / arts" (что не работает для меня), а "lib / arts /" (установленная вручную) - так?!

Как я использую ресурсы из папки выглядят примерно так:

URL resource = getClass().getResource("/gui/refresh.png");
ImageIcon tmp = new ImageIcon(resource);

Изменить:

На основании комментария Тушара и этой публикации Я нашел следующее решение как приемлемый компромисс между функциональностью и комфортом.

Я отменяю цель ANT из автоматически сгенерированного файла build-impl.xml, который создает Class-Path в файле MANIFEST.MF в базовом файле build.xml проекта Netbeans. Код, который идет в файл build.xml, выглядит так:

  

  
    
    
      
        
      
    
  

  
    
      
      
        
        
          
          
        
        
          
          
            
            
          
        
        
        
          
          
            
            
          
        
      
    
  

Компромисс заключается в том, что для разработки в Netbeans мне все равно нужно добавить папку ресурсов (например, «art») в список библиотек, чтобы проект запустился. в Netbeans. Это вызовет дополнительную запись в файле MANIFEST.MF ('lib / art') вместе с тем эффектом, что библиотеки не будут автоматически скопированы в папку 'dist' с сообщением

...\art is a directory or can't be read. Not copying the libraries.
Not copying the libraries.

Это поведение - afaik - предназначен (чтобы заставить все сложить в банку), хотя по этому поводу ведутся дискуссии. Чтобы создать настоящий дистрибутив, мне пришлось бы убрать папку (и) ресурсов из списка библиотек в NB и перестроить.

Идеи о более оптимизированной установке без каких-либо компромиссов, конечно, все еще приветствуются. :)

16
задан Community 23 May 2017 в 12:17
поделиться