(Mirror 1)       (Mirror 2)       (Mirror 3)      

Home Map News Faq

F.A.Q.

• What's the goal of PlantUML ?

PlantUML is used to draw UML diagram, using a simple and human readable text description.
Be carefull, because it does not prevent you from drawing inconsistent diagram (like having two classes inheriting from each other, for example).
So it's more a drawing tool than a modeling tool.

• It does not work on my config !

PlantUML have been installed on several systems, and some users have reported small issues when installing it. You can have a look on this page which give advices if something is wrong.

• Which version of GraphViz should I use ?

You have more information about GraphViz here, and a quick test to do here.

PlantUML is now working with GraphViz 2.28 and 2.26.3.

The last version of GraphViz (2.30.1) is somehow working with PlantUML, but may have some issues.

• Is this mature? I don't see any new release ?

PlantUML is developped with continuous integration in mind. That means that there are new releases quite often, with (hopefully!) backward compatibility. So the file PlantUML.jar may changed over time, while keeping the same name.

If you want to know the exact version you are using, you can type in the command line:
	java -jar plantuml.jar -version
	
or use the following small special diagram description :
	@startuml
	version
	@enduml
	

• How to know if a new release is available ?

To check if a newer version is available for download, you can go to the download page.

You can also subscribe to the following rss flows:

Or you can use the command line:

	java -jar plantuml.jar -checkversion
	
This command connects to the PlantUML site, so you may have to set your proxy :
(Please note that -D flags must be set before -jar flag)
	java -Dhttp.proxyHost=myproxy.com -Dhttp.proxyPort=8080 -jar plantuml.jar -checkversion
	
Or use the following small special diagram description :
	@startuml
	checkversion
	@enduml
	
You can also set your proxy using the following syntax :
	@startuml
	checkversion(proxy=myproxy.com,port=8080)
	@enduml
	

• I have an error message with the Eclipse Plugin.

If you have the following error message : when displaying the Windows/Preferences/PlantUML, you should try to quit Eclipse and use the -clean flag on the command line:

• Nothing works with the Eclipse Plugin.

Under Windows Vista, some folders are protected, such as Program Files. If you have installed Eclipse under Program Files, you should run Eclipse as Administrator, this allows to write in protected folders. After a first run as Administrator, you should be able to use Eclipse & PlantUML with a ordinary user.

Or you should install Eclipse in an ordinary folder, like c:\eclipse.

• I have "out of memory heap" !

If you generate very big diagrams, (for example, something like 20 000 x 10 000 pixels), you can have some memory issues.
The solution is to add this parameter to the java vm : -Xmx1024m .

• I have issues with accented characters.

Characters encoding is a subtle thing... By default, PlantUML use the default charset of your platform, which may or may not be UTF-8 . If you want to know which charset you are using, you can type the following command:
	java -jar plantuml.jar -help
	
	...
	-charset xxx To use a specific charset (default is windows-1252)
	...
	
If you want to use a different charset, for example UTF-8, you can use the -charset flag :
	java -jar plantuml.jar -charset UTF-8 ...
	
You can also find here information about unicode . Note that even if Java does not support B.O.M. (Byte Order Mark) in UTF-8 format file , a workaround has been put into PlantUML, so this should not be an issue.

• I have issues with Asian characters.

Some Japanese users reported that they have to set the LANG variable to ja_JP.UTF-8 in their shell before launching PlantUML.
	export LANG = ja_JP.UTF-8

Since the new architecture, it should simply work, because Java knows how to draw East Asian characters.

• How to generate EPS ?

You can use the -eps flag in the command line, or format="eps" in the ANT task. This is still beta, and will be released soon.

• What about XMI ?

Work is in progress.

• Is @startuml needed in with -pipe flag ?

Short answer: You do have to use @startuml (or @startditaa/@startjcckit...) when starting a diagram.

Long answer:

The @startuml/@startditaa/@startjcckit is usefull to determine the type of diagram (uml, ditaa, jcckit...), and because you can optionally put a filename after the @startXXX. This also allows to have several diagrams inside the same file.

Earlier versions of PlantUML were not supporting ditaa or jcckit. When you use -pipe flag, since the diagram is generated to standard output, there could be only one diagram in the standard input. And there is no need to specify a filename. For all those reasons, @startuml was not needed when using -pipe flag at that time.

Latter, it has been decided to normalize this, and to impose @startuml everywhere, even with -pipe flag, because it was confusing for users. Unfortunatly, since some existing scripts were already using the fact that @startuml is not needed in -pipe flag, it has been decided to keep this as a deprecated option, just to allow older scripts to run. We indeed do pay attention of ascending compatibility.

For newer scripts, you should not rely on this, and use @startuml/@enduml with the -pipe flag.

•Under which license is PlantUML distributed ?

PlantUML is distributed under the GPL license.
You can print the license using the command line option:
	java -jar plantuml.jar -license
Or you can use the special diagram:
	@startuml
	license
	@enduml

•I don't like GPL!

You can also use:

Those versions miss few features (DITAA for example), but is 100% able to generate UML diagrams.

You can print the license of these versions using the command line option:

	java -jar plantuml.jar -license
Or you can use the special diagram:
	@startuml
	license
	@enduml

•Are images generated by PlantUML covered by the GPL/LGPL/ASL/EPL license ?

No, they are not.

Images (whatever their format : PNG, SVG...) generated by the execution of PlantUML are owned by the author of their corresponding sources code (that is, their textual description in PlantUML language).

Images generated by the execution of PlantUML are not considered as covered work. You can do whatever you want with them.

The generated images can then be used without any reference to the GPL/LGPL/ASL/EPL license. It is not even necessary to stipulate that they have been generated with PlantUML, although this will be appreciate by PlantUML team.

There is an exception : if the textual description in PlantUML language is also covered by some license (like the GPL/LGPL/ASL/EPL), then the generated images are logically covered by this license.

•Can I redistribute the LGPL binary file PlantUML.jar and if there any constraints about it?

As long as you do not modify the Java source code and the jar file, you can integrate PlantUML.jar in your own closed source software.

The only constraint is that you have to mention somewhere in your own license or in your documentation that you are using PlantUML and that PlantUML is distributed under LGPL.

You can then even sell your software and earn money, without any other contraints (although donation will be appreciate in that case :-)

•What it the license of the PlantUML syntax?

There are no license for the PlantUML syntax itself : this means that everybody can use it.

So you can use PlantUML comments into your own code : those comments are owned by yourself, and are not considered as covered work, and are not covered by the GPL/LGPL/APL/EPL license.

Only the current implementation (that is, PlantUML program) is licensed under GPL, LGPL, ASL or EPL. Note that the documentation (examples, notices, ...) published in the PlantUML website is copyrighted. But you can still write your own documentation.

• I have a message "file not found" when running the Word Macro with Java 7!

You may have to properly set Environment Variables. To fix go into Environment Variables and find these two variables:

Variable Name: PATH, Add to Value: ;C:\Program Files\Java\jre7\bin
Variable Name: CLASSPATH, Add to Value: ;C:\Program Files\Java\jre7\lib

If they do not exist, create new User Variables:

Variable Name: PATH, Add to Value: .;C:\Program Files\Java\jre7\bin.;
Variable Name: CLASSPATH, Add to Value: .;C:\Program Files\Java\jre7\lib.;

• What does net.sourceforge.plantuml.svek.EmptySvgException mean ?

PlantUML is using GraphViz to generate some diagrams. So PlantUML is launching dot program and retrieve the information generated by dot as a SVG flow.

This message means that PlantUML is getting an empty flow from dot execution, and therefore cannot generate UML diagrams. There may be several reasons why this happens:

• I have a message complaining about X11 or headless!

If you are running PlantUML on a linux server without graphical capability, you may have some error message:

Basically, this is because PlantUML needs to have access to some graphical resources (more information here).
You can turn PlantUML to headless mode, using the flag -Djava.awt.headless=true.
For example: /usr/bin/java -Djava.awt.headless=true -jar /data/PlantUml/plantuml.jar ...

• I have a question that is not here!

You can use the Question & Answer facility.

Someone will try to answer your question there.

Support This Project Offer 250 Mo! Follow PlantUML on Twitter