swagger2puml icon indicating copy to clipboard operation
swagger2puml copied to clipboard

Usage detail

Open gempain opened this issue 7 years ago • 6 comments

Hello,

I tried using your tool, but found the documentation to be a bit unclear on how to do so. Here's what I did:

  • cloned the repo
  • did a mvn clean install

But I can't find the swagger2puml.jar that is mentioned in the docs.

What am I missing ?

Thanks a lot for your help :)

All the best;

gempain avatar Jan 15 '18 15:01 gempain

Agreed on this. I have been struggling to compile these java classes.

uLan08 avatar Mar 09 '18 09:03 uLan08

The Jar name is swagger2puml-core, I will update the Documentation part. Please try with this name and report me in case of any issues.

santoshm1188 avatar May 10 '18 18:05 santoshm1188

Hello,

I've encountered the same problem.

What I've done :

  • cd <root_of_project>
  • mvn clean install
  • java -cp swagger2puml-core com.kicksolutions.swagger.Swagger2PlantUML
  • java -cp swagger2puml-core target.classes.com.kicksolutions.swagger.Swagger2PlantUML
  • java -cp swagger2puml-core/target/swagger-plantuml-core-0.0.1-SNAPSHOT.jar com.kicksolutions.swagger.Swagger2PlantUML

The first 2 java commands output that :

Error: Could not find or load main class target.classes.com.kicksolutions.swagger.Swagger2PlantUML

The last one :

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils
	at com.kicksolutions.swagger.Swagger2PlantUML.init(Swagger2PlantUML.java:54)
	at com.kicksolutions.swagger.Swagger2PlantUML.main(Swagger2PlantUML.java:37)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang3.StringUtils
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

Thank you for for your help !

Wykiki avatar May 15 '18 07:05 Wykiki

Struggling to execute , can i request for clear instruction please.

smohiddin avatar Jun 08 '18 13:06 smohiddin

Add the following under section of the parent POM file:

			<plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <mainClass>com.kicksolutions.swagger.Swagger2PlantUML</mainClass>
                    </manifest>
                </archive>
                
            </configuration>
        </plugin>

Then issue a "mvn clean install" from parent. It will create 2 /target/ folder (one under parent and one under the core). Copy it out and rename it to something sane:

cp ./swagger2puml-core/target/swagger-plantuml-core-0.0.1-SNAPSHOT-jar-with-dependencies.jar ./swagger2uml.jar

Now invoke it against your Swagger schema:

java -jar swagger2uml.jar -i myschema.json -o .

casperbang avatar Aug 27 '18 09:08 casperbang

These changes are actually included in https://github.com/kicksolutions/swagger2puml/pull/46

greylurk avatar Dec 04 '19 02:12 greylurk