.

Статус
Закрыто для дальнейших ответов.
ХЗ, но после этого волшебным образом нужные файлы оказываются в папке плагина.. :D
То есть этот метод из jar архива вытаскивает нужные файлы?
Код:
URL url = MyClass.class.getResource("MyClass.class");
String scheme = url.getProtocol();
if (!"jar".equals(scheme))
  throw new IllegalArgumentException("Unsupported scheme: " + scheme);
JarURLConnection con = (JarURLConnection) url.openConnection();
JarFile archive = con.getJarFile();
/* Search for the entries you care about. */
Enumeration<JarEntry> entries = archive.entries();
while (entries.hasMoreElements()) {
  JarEntry entry = entries.nextElement();
  for(String folder : folders) {
    if (entry.getName().startsWith(folder)) {
      ...
    }
  }
}

Folders - массив с нужными папками.(artifacts, races)
 
То есть этот метод из jar архива вытаскивает нужные файлы?
Код:
URL url = MyClass.class.getResource("MyClass.class");
String scheme = url.getProtocol();
if (!"jar".equals(scheme))
  throw new IllegalArgumentException("Unsupported scheme: " + scheme);
JarURLConnection con = (JarURLConnection) url.openConnection();
JarFile archive = con.getJarFile();
/* Search for the entries you care about. */
Enumeration<JarEntry> entries = archive.entries();
while (entries.hasMoreElements()) {
  JarEntry entry = entries.nextElement();
  for(String folder : folders) {
    if (entry.getName().startsWith(folder)) {
      ...
    }
  }
}

Folders - массив с нужными папками.(artifacts, races)
Я конечно думал что есть что-то... Попроще)
Но если работать будет, то итак сойдет, сегодня протестирую!! Спасибо)
То есть этот метод из jar архива вытаскивает нужные файлы?
Код:
URL url = MyClass.class.getResource("MyClass.class");
String scheme = url.getProtocol();
if (!"jar".equals(scheme))
  throw new IllegalArgumentException("Unsupported scheme: " + scheme);
JarURLConnection con = (JarURLConnection) url.openConnection();
JarFile archive = con.getJarFile();
/* Search for the entries you care about. */
Enumeration<JarEntry> entries = archive.entries();
while (entries.hasMoreElements()) {
  JarEntry entry = entries.nextElement();
  for(String folder : folders) {
    if (entry.getName().startsWith(folder)) {
      ...
    }
  }
}

Folders - массив с нужными папками.(artifacts, races)
Код:
private void saveConfigs() {
        try {
            saveResource("config.yml", false);
            String[] folders = new String[]{"groups", "races", "artifacts", "damage_types"};
            URL url = Main.class.getResource("Main.class");
            String scheme = url.getProtocol();
            if (!"jar".equals(scheme))
                throw new IllegalArgumentException("Unsupported scheme: " + scheme);
            JarURLConnection con = (JarURLConnection) url.openConnection();
            JarFile archive = con.getJarFile();
            Enumeration<JarEntry> entries = archive.entries();
            while (entries.hasMoreElements()) {
                JarEntry entry = entries.nextElement();
                for(String folder : folders) {
                    if (entry.getName().startsWith(folder)) {
                        //А что тут делать?... Как выгрузить?..
                    }
                }
            }
        } catch (Exception ignored) {}
    }
 
В курсе, но как по мне - распаковывать JAR чтобы извлечь мать его конфиги.. Meh
так не нужно его полностью распаковывать. В любом случае я уже написал, что его проблема в организации плагина.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх