Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I'm looking for a lightweight java reporting engine to be embedded in an applet application.
My first option was Jasper Reports, but the jar is over 2Mb, a little too heavy (and too bloated) for my needs. I don't know if there is modular jasper distribution, with funcionalities split in several jars (like html rendering, pdf, excel, compilation, runtime, etc).
I need to preview the report using Swing and print it. PDF export is a plus.
Jasper Reports does include a jar with basic funcionality to preview and print reports. It's packaged as jasperreports-x.x.x-applet.jar, with around 350k.
I know this is a bit late, but with your requirements it seems like a perfect fit would be the reporting solution the company I work for puts out: i-net Clear Reports (used to be i-net Crystal-Clear).
Lightweight and simple viewer (similar to a PDF viewer)
Very simple-to-use API
Can export into a bunch of different formats including PDF
Supports any JDBC data source, or also manual setting of data
Can run Crystal Reports templates
We also offer a free and fully functional report designer
Check it out and tell us what you think.
See NextReports Engine with around 300k. NextReports Designer is FREE to use.
If you can find no better solution, it should be possible to create a stripped down JAR file for Jasper Reports. The GenJar tool is supposed to be able to build a JAR file based on its static dependencies.
A long time ago, I used to use Zelix's "Classmaster" obfuscation tool which gave you the option of stripping out classes that were not used. I think it might even have stripped unused methods, though my memory is a bit hazy. (I used it on a closed source product ... that has since disappeared down an IP "blackhole".)
EDIT: another option is ProGuard, which does obfuscation and stripping like Classmaster, except that it is open source. (Sadly, they seem to have misconfigured their SF website link. But the link above works.)
Of course, if Jasper Reports uses Class.forName() you would need to identify all the relevant classes add them as "root" dependencies for the stripping tool that you use. In addition, you would need to look at the Jasper Reports license to make sure that you are allowed to "distribute" a stripped JAR file.
Why is 2Mb too big for a server-side library? Docmosis has a jar size under 500k, but requires OpenOffice on the server, so it is smaller in one way and bigger in another. Java won't load the 2Mb Jasper into memory unless you use all the features/classes.
IMHO Chunk Templating engine is the best. The jar file only has 180 KB! and support IF and iteration. How cool is that !
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
Please recommend a data visualisation library that meets the following requirements:
1. works on all popular browsers (including ios safari)
2. java compatible
3. open-source (preferable)
So far I have used BirdEye (a comprehensive open source information visualization and visual analytics library for Adobe Flex) http://code.google.com/p/birdeye/
Pros of BirdEye: open source
Cons of BirdEye: does not work on ios browsers (it is flash-based)
I don't want to write a native app for iOS. Hence, I need something like BirdEye which works on iOS as well.
The primary goal of that application is to draw graphs for strategy map.
I have worked on google visualization API. I found it easy to use and supports wide range of options. Also their site has good sample code so learning curve is smooth.
I had done it for iOS safari. But I think, its supported on all major browsers because it's a Javascript based library.
visualization API of Google
How sophisticated does it need to be?
If you just need standard charting like interactive line charts, bars, stacked bars, pie charts, dot charts, etc then go with gRaphael. It's built on Raphael which uses SVG or VML (IE6-8's weird SVG clone) as appropriate. It works in IE6+, all major desktop browsers, iOS Safari, and modern Android stock browsers. The only browser I'm aware of where it doesn't work in is the stock Android browser in Android versions 1 and 2 - i.e. old Android phones (not tablets, which use v3) from mid 2011 or earlier, where the user hasn't replaced the stock browser or updated.
If you need serious stuff, look into taking the output from D3.js (an awesome SVG data visualisation library used in many of the most sophisticated data visualisations on the web, including most of the New York Times' award-winning interactive visualisations, for example) and pipe it through Raphael to make it cross-browser. D3 outputs SVG paths and shapes, and Raphael takes SVG path strings and shape co-ordinates as input... Getting the two libraries working together is never actually that simple, but it's not a major struggle either - here's a blog article on how to do it using a force-directed graph as an example. Of course, while this is great for cross-browser compatibility, it uses a lot of processing power. Optimise for performance, and consider using some loading animation spinning gif :-)
Tip: If you're doing anything serious with Raphael that involves manipulating paths or shapes using or looking at their bounding box dimensions, and if the latest version or the version you're using is 2.1 or earlier (as it is at time of writing), apply this bug fix to avoid strange unpredictable behaviour.
I liked to use (after some research):
YUI
InfoVis
highcharts
Enjoy!
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
The following link states that "A Java or RCP version of Eclipse is recommended. For Eclipse 3.5, the "Eclipse Classic" version is recommended."
http://developer.android.com/sdk/installing.html
However, Eclipse 3.6 is available and as a total newbie I am not sure whether the recommendation for "Eclipse Classic" over RCP (or Java) still holds true.
Can you clarify?
Thanks you.
Just follow the recommendation and download and install eclipse classic 3.6 for a start, then add the android. You can always add additional eclipse functionality (plugins) later without breaking or loosing something.
Here is a page to compare the distributions.
Classic is a good choice. Alternativly I'd choose not RCP but 'Modeling' because it includes Mylin (task management) and install the XML tools later on (nice XML viewer/editor).
For the record, I decided to go with the Classic package.
I am detailing my decision considerations, hoping that this could be helpful to future Android newbies:
Aside from the ubiquitous RCP/Platform, the only plugin common to all 3 Android recommended packages (Java, RCP and Classic) is JDT.
In the near term, I don't expect to develop Eclipse plugins (PDE), but I do use version control (CVS). The "Java package" seems to best fit this.
On the other hand, the "Java package" also includes EMF, GEF, Mylyn and XML Tools. In my android project, it is unlikely that I will need EMF, GEF and XML Tools. Mylyn, on the other hand, sounds very interesting, perhaps even useful. :)
It is unknown to me how clean or easy a plugin un-installation is. I always prefer leaner & cleaner environments (lesser probability for contention), so the easiest route seems to be installing "Classic", removing PDE, then adding Mylyn.
Hence, Classic.
Those of us who create products and/or plugins based on Eclipse usually start with Eclipse Classic. It has the PDE (plugin Development Environment) already integrated. It's also a lot bigger.
If you want to do Android development and nothing else, you can start with the Java SE edition or Pulsar and add in the plugins you need.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I was trying to compile a list of tools that a good Java Developer should be know of, and keep in his Developer Tool Belt
I can think of a few
Eclipse Development Environment - There are other IDEs, but you should know how Eclipse of eclipse.
JUnit - Java Unit Testing Framework. Of course there are others, but...
ANT
Maven
Soap UI - for testing SOAP endpoints
jrat - Java Profiler. I don't know of other good Java profilers
Java Decompiler - For when you just have to know what's in the jar file
The Really Big Index: A list of all content pages in the The JavaTM Tutorial, because you can't know everything.
Continuous integration server: CruiseControl, Hudson, etc.
Dependency injection: Google Guice, Spring, PicoContainer
Slf4J: Simple Logging Facade for Java
Mockito: Mocking Library
Not Java specific but nonetheless essential: a good distributed source control (Git or Mercurial)
VisualVM - for low level memory profiling
Eclipse MAT - for high level memory profiling
JMeter - for performance testing
Mockito, EasyMock, PowerMock - for mocking
FindBugs, Checkstyle, PMD - for static code analysis
findbugs http://findbugs.sourceforge.net/
hudson http://hudson-ci.org/
understanding of all major version control systems like:
perforce
cvs
svn
git
etc.
and of course the jdk!
Hudson, near the top of the list.
visualVM - good enough for most profiling needs (and I've heard of a number of Java profilers, but never of jrat)
Cobertura or Emma for code coverage
Useful in building your apps quickly:
1. onejar - helps in quickly create executable jar with dependency and deploy for users.
2. Vaadin for building rich UI with ease.
Critical
Clean text editor ( Textmate, gVim )
JDK ( java, javac, javap etc. )
A webbrowser to read the javadocs
Non-critical
All those you mention but s/Eclipse/IntelliJ Idea/g
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I'm doing a study on large Java projects and would like to view the source code for Eclipse. I have gone to this url (http://wiki.eclipse.org/index.php/CVS_Howto) and figured that the most useful cvs repository for me to look at would be this one:
:pserver:anonymous#dev.eclipse.org:/cvsroot/eclipse (The Eclipse platform project)
However, when looking at this repository, it has so many modules! Which modules should I be trying to check out? I don't necessarily want to build the IDE from source, however, I just want to get the core Eclipse code base to perform some analysis. Would I just check out any modules starting with "org.eclipse..."? Should I be checking out any of the others?
Or is there an easier way to get the source? I read somewhere that you can get the source from the binary version of Eclipse but I am unsure where to find the source.
Just download the source tarball eclipse-cvs.tgz from here
EDIT: This also includes version history, so it may be larger than you need. For just a current version download Platform-SDK.3.5.2 ~ 100MB
It includes the sources in jar files e.g.
org.eclipse.ui.workbench_3.5.2.M20100113-0800.jar
org.eclipse.ui.workbench.source_3.5.2.M20100113-0800.jar
For empirical studies, a good resource to check out is the Qualitas Corpus. It's a collection of open-source Java programs for use in empirical studies. In addition to having source code for a larger number of major projects (including Eclipse) they have multiple versions of each program, so you can track how code changes over time, if that's important. It's a respected corpus in the Software Engineering/Programming Languages research community, and so it may make your work more suitable for comparison in the future.
I'm not a part of their project, but I have used their corpus in a recent study. If you shoot them an email and tell them what your project is about, they'll give you http download access.
I can only answer this bit:
Or is there an easier way to get the
source? I read somewhere that you can
get the source from the binary version
of Eclipse but I am unsure where to
find the source.
In eclipse/plugins/, the jars named *.source_*.jar contain source. For example, in my install:
org.eclipse.osgi_3.4.0.v20080605-1900.jar
org.eclipse.osgi.source_3.4.0.v20080605-1900.jar
The first jar contains the OSGi runtime, and the latter contains the corresponding source.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I've used DJ Java Decompiler, which has a handy GUI, but it seems as if the latest version is only a trial and forces you to purchase the software after some period of days (I recall using an earlier free version about a year ago at a previous job).
I'm aware of Jad and Jadclipse, but what I loved about DJ Java Decompiler was that it integrated with Windows Explorer - so I could simply open up a JAR in something like WinRAR, navigate thru the packages, and double-click on a .class file to view it's decompiled source.
Can anyone suggest other good, free, .class viewers? The criteria I have in mind for these would be:
GUI-based
Integrates to Windows Explorer (so I don't have to run some command-line options like with JAD)
optional - can also show raw JVM bytecode commands
In other words - I'd like to find the closest thing to .NET Reflector for Java as possible.
JAD is one of the best Java Decompiler today. This is one brilliant piece of software. Nevertheless, the last JDK supported by JAD 1.5.8 (Apr 14, 2001) is JDK 1.3.
DJ Java Decompiler, JadClipse, Cavaj and JarInspector are powered by Jad.
The last version of Decafe Pro has been released on 2002-01-03.
These viewers can not display Java 5 sources.
So, I use JD-GUI : logic, I'm the author :)
Procyon is a new open source decompiler that already beats JD-GUI in most cases. It's written in Java and comes in a self-contained jar. It is actively developed by StackOverflow's own Mike Strobel.
Eclipse will allow you to view the bytecode for classes, if the source is unavailable (search for 'disassembled bytecodes').
It seems there is also a third-party plugin that uses asm here.
There was another thread on StackOverflow which linked to http://java.decompiler.free.fr/
Try JDGUI simple, lightweight and fast
I use cavaj
I've used Decafe Pro (can't find the official site anymore) in the past, but the free version won't let you cut-n-paste.
Both of them are front ends to JAD, so they have the same features and limitations with respect to decompilation capabilities.
JarInspector
Jar Inspector is an easy to use yet powerful jar file editor for Mac OS X. It allows you to effortlessly view, edit and decompile the contents of jar files.
Many of these decompilers are based on Jad:
http://www.kpdus.com/jad.html
I like the JadClipse Eclipse plugin:
http://sourceforge.net/projects/jadclipse
I just published a stand-alone Java Decompiler GUI (based on Jad) which you can get from Util Java Decompiler (JAD based) v1.0
This is a Windows based .NET 4.0 application, which supports the drag n'drop of *.jar files.
It doesn't integrate with Window Explorer, but since this is based on a simple C# script, and the code is Open Source, maybe you could add that feature :)
Another idea would be to also add support for the other free java decompilers.
i use cavaj, simple to install and gives your very good overview of the class, eclipse style.
There is a free Java Class Viewer, we can check the Java .class file binary data byte by byte interactively. When clicking each tree node of the class file structure on the left, the corresponding byte data would be highlighted on the right.
Here is an article describes the source code of the Java Class Viewer in detail.