удалено

  • Автор темы Автор темы MCosmos
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

MCosmos

Активный участник
Пользователь
Баллы
76
удалено
 
Последнее редактирование:
Столкнулся с такой проблемой. Делаю плагин который работает с JDA. И мне нужно как-то подключить этот JDA к плагину. Использую компилятор Eclipse.
Add External Jars - пробовал не работает. Выдает ошибку о не существовании класса.
Ну как и любой jar в зависимости добавил и все.
 
Так я это делал, но дело в том что jar-ник который надо добавить в зависимость же типо не плагин его же нету на сервере.
Ну сделай так, чтобы плагин билдился вместе с JDA. Не вижу никаких проблем.
 
Так я это делал, но дело в том что jar-ник который надо добавить в зависимость же типо не плагин его же нету на сервере.
Так исправь это и сделай его плагином. Проблем? Запакуй в него загрузочный класс и plugin.yml. Элементарно же.
 
Как это в артефакт?
File -> Project Structure -> Artifacts -> New -> Empty -> ПКМ по зависимости и выбираете Extract into Output Root
Но сначала подключить Jar к проекту
Есть одно но...
это пример для идеи.

А вообще:
Код:
plugins {
    id 'java'
}

group 'me.project'
version '1.0'

configurations {
    shade
}

repositories {
    mavenCentral()
    mavenLocal()
    jcenter()
}

dependencies {
    shade 'net.dv8tion:JDA:4.2.0_224'
    implementation 'net.dv8tion:JDA:4.2.0_224'
    compileOnly 'org.spigotmc:spigot:1.16.2-R0.1-SNAPSHOT'
}

static def isJar(File file) {
    file.name.endsWith('.jar')
}

jar {
    from configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }

    configurations.shade.collect {
        from(isJar(it) ? zipTree(it) : it) {
            exclude 'META-INF', 'META-INF/**'
        }
    }
}

Но чтобы заработало, нужно запустить BuildTools для нужной версии.

Дальше как обычно, код в /java/...
plugin.yml и другие файлики в /resources/...

P.S. с градлом только начал разбираться, и не гарантирую оптимальность скрипта, но это работает. Можете также попробовать Maven :)
 
Сделал через Maven.
Но в итоге ничего не изменилось. Ошибка до сих пор выпадает java.lang.NoClassDefFoundError: net/dv8tion/jda/api/JDABuilder.

pom.xml


HTML:
<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>betterprotect.main</groupId>
  <artifactId>BetterProtect</artifactId>
  <version>1.0</version>
  <packaging>jar</packaging>

  <name>BetterProtect</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
 
  <repositories>
    <repository>
      <id>spigot-repo</id>
      <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
    </repository>
 
    <repository>
      <id>jcenter</id>
      <name>jcenter-bintray</name>
      <url>http://jcenter.bintray.com</url>
    </repository>
  </repositories>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
 
    <dependency>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-shade-plugin</artifactId>
      <version>3.1.0</version>
      <type>maven-plugin</type>
    </dependency>
 
    <dependency>
      <groupId>org.spigotmc</groupId>
      <artifactId>spigot-api</artifactId>
      <version>1.12.2-R0.1-SNAPSHOT</version>
      <scope>provided</scope>
    </dependency>
 
    <dependency>
      <groupId>net.dv8tion</groupId>
      <artifactId>JDA</artifactId>
      <version>3.3.1_300</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>
 
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>3.1.0</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <relocations>
                <relocation>
                  <pattern>net.dv8tion.jda.core</pattern>
                  <shadedPattern>net.dv8tion.jda.core</shadedPattern>
                </relocation>
              </relocations>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

Может я что-то не так делаю?
Как ты его собираешь?
 
А как в эклипсе это сделать?
В обычной командной строке вообще такого нету. В эклипсе хз как открыть её прямо в самом проекте
В гугле забанили? Загугли и посмотри.
 
За это время уже ручками бы все сделать успел и без мавена :D. Всего то две зависимости подключить, ведро и либу.
 
Ну типо это же не будет работать так как JDA же по фактам должен запускаться вместе с плагином чтобы всё работало.
Тебе писали уже пути решения в самом начале. Ты либо соединяешь 2 jar в один, либо делаешь из JDA плагин.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх