Я оставил открытым вопрос для hereОшибка: Не удалось найти или загрузить основной класс Swagger Codegen
я пытаюсь создать пользовательский CodeGen, мне удалось заставить его работать, помещая файлы внутри проект Codegen, но я хочу, чтобы работать, как это: https://github.com/swagger-api/swagger-codegen#making-your-own-codegen-modules
Я не изменил проект автоматически сформированное на всех, но я получаю:
Error: Could not find or load main class io.swagger.codegen.SwaggerCodegen
Это командная строка:
java -cp output/myLibrary/target/myCustomCodegen-swagger-codegen-1.0.0.jar:swagger-codegen-cli-2.1.6.jar io.swagger.codegen.SwaggerCodegen generate -i https://watson-api-explorer.mybluemix.net/listings/conversation-v1-experimental.json -l com.my.company.codegen.Mycustomcodegengenerator -o outputlocation
Я получил баночку отсюда https://mvnrepository.com/artifact/io.swagger/swagger-codegen-project/2.1.6 Это то, что я делаю:
java -jar swagger-codegen-cli-2.1.6.jar meta \ -o output/myLibrary -n myClientCodegen -p com.my.company.codegen
Выполнить, чтобы создать CoSTUME CodegenВыполнить
mvn package
in output/myLibraryЗапустить
java -cp output/myLibrary/target/myCustomCodegen-swagger-codegen-1.0.0.jar:swagger-codegen-cli-2.1.6.jar io.swagger.codegen.SwaggerCodegen generate -i https://watson-api-explorer.mybluemix.net/listings/conversation-v1-experimental.json -l com.my.company.codegen.Mycustomcodegengenerator -o outputlocation
в папке который содержит как чванство-codege-CLI-2.1.6.jar и выходную папку
Это действительно найти класс, если удалить первую часть, но это не распространяется найти новый язык:
java -cp swagger-codegen-cli-2.1.6.jar io.swagger.codegen.SwaggerCodegen generate -i https://watson-api-explorer.mybluemix.net/listings/conversation-v1-experimental.json -l com.my.company.codegen.Mycustomcodegengenerator -o outputlocation
Я рассмотрел ответы на вопрос «Ошибка: не удалось найти или загрузить основные классы», но не удалось его исправить.
Я не в корневом проекте swagger-codegen, так как я сказал это: 'java -cp swagger-codegen-cli-2.1.6.jar io.swagger.codegen.SwaggerCodegen generate -i https: // watson-api-explorer.mybluemix.net/listings/conversation-v1-experimental.json -l com.my.company.codegen.Mycustomcodegengenerator -o outputlocation' работает просто отлично, а это значит, что он может найти класс, пока я не включайте путь для 'myClientCodegen-swagger-codegen-1.0.0.jar' – moondaisy
, что означает, что в вашем текущем каталоге есть' swagger-codegen-cli-2.1.6.jar'. Вы уверены, что? Исключение u, которое вы указали, появляется, если java не имеет доступа к 'swagger-codegen-cli-2.1.6.jar'. Я почти уверен, что это связано с этим. Злость заключается в том, что java не регистрирует ошибку, если она не может найти упомянутую банку. – d0x
Да, я уверен. Если бы я хотел, я мог бы использовать любой из языков, которые уже были определены с помощью swagger, называющего это. Проблема возникает только при добавлении пути к моей банке. – moondaisy