What is the AspectJ Project?
AspectJ Frequently Asked QuestionsAspectJ is based on over ten years of research at Xerox Palo Alto Research Center as funded by Xerox, a U.S. Government grant (NISTATP), and a DARPA contract. It has evolved through open-source releases to a strong user community and now operates as an open source project at http://eclipse.org/aspectj The AspectJ team works closely with the community to ensure AspectJ continues to evolve as an effective aspect-oriented programming language and tool set. The latest release is 1.
Related QuestionsWhy did the AspectJ project move to eclipse.org?
AspectJ Frequently Asked QuestionsAspectJ has come a long way -- the language has stabilized; there are a rapidly growing number of commercial users; the 1.1 release is imminent and will include byte-code weaving and incremental compilation; and the tool support is now well integrated with several major IDEs. This growth of the community and the technology means that the original research and prototype development of AspectJ is complete. As such it is time for ongoing development and support of AspectJ to move outside of PARC.
Related QuestionsHow can I get involved with developing the AspectJ project?
AspectJ Frequently Asked QuestionsFor those who want to contribute to the project, here's a general list of ways to do so, in no particular order: Participate effectively in the mailing lists. The quality of the mailing lists makes a huge difference in the ability of new and experienced AspectJ users to write good code. For guidance on effective participation, see Q:How do I communicate with other AspectJ users? and Q:How should I write email queries?.
Related QuestionsWhat is AspectJ?
AspectJ Frequently Asked QuestionsAspectJ(tm) is a simple and practical extension to the Java(tm) programming language that adds to Java aspect-oriented programming (AOP) capabilities. AOP allows developers to reap the benefits of modularity for concerns that cut across the natural units of modularity. In object-oriented programs like Java, the natural unit of modularity is the class. In AspectJ, aspects modularize concerns that affect more than one class.
Related QuestionsMy IDE is trying to parse AspectJ files which makes my project unusable. What can I do?
AspectJ Frequently Asked QuestionsWhen working with an unsupported IDE that objects to the syntax of AspectJ source files (and, e.g., automatically gathers them in a source tree as Java files based on the .java extension), you can use the .aj extension for your AspectJ files. The ajc compiler accepts both .java and .aj files, and you can set up your build scripts to include the correct list of source files.
Related QuestionsWhat does the fact that AspectJ is an Open Source Project mean to me?
AspectJ Frequently Asked QuestionsOpen source protects your interest in a correct, long-lived, up-to-date, and widely-accepted implementation of AspectJ. With the source code, you control your own destiny in perpetuity. You can continue to use the implementation and update it as necessary to fix bugs and add things you need. Because the code is available to all, anyone can find and fix bugs. There is no need to hope for it to be fixed in the next product release.
Related QuestionsHow does AJDT relate to the AspectJ project?
AJDT: Frequently Asked QuestionsAJDT provides Eclipse IDE integration for AspectJ, and includes the AJDE (AspectJ Development Environment) libraries from the AspectJ project as part of its packaging. Development of the AspectJ compiler and AJDE takes place under the AspectJ project.
Related QuestionsHow is AspectJ licensed?
AspectJ Frequently Asked QuestionsAspectJ 1.1 through 1.5.1 source code and documentation is available under the Common Public License 1.0. The AspectJ 1.0 tools are open-source software available under the Mozilla Public License 1.1. That documentation is available under a separate license that precludes for-profit or commercial redistribution. Most users only want to use AspectJ to build programs they distribute. There are no restrictions here.
Related QuestionsWhat are the benefits of using AspectJ?
AspectJ Frequently Asked QuestionsThe code for these concerns tends to be spread out across the system. Because these concerns won't stay inside of any one module boundary, we say that they crosscut the system's modularity. AspectJ adds constructs to Java that enable the modular implementation of crosscutting concerns. This ability is particularly valuable because crosscutting concerns tend to be both complex and poorly localized, making them hard to deal with.
Related QuestionsHow do I download and install AspectJ?
AspectJ Frequently Asked QuestionsFrom AspectJ's web page , download the AspectJ distribution. The jar file is installed by executing java -jar jar file name Do not try to extract the jar file contents and then attempt to execute java org.aspectj.tools.Main. (A NoClassDefFoundError exception will be thrown.) The AspectJ distribution is not designed to be installed this way. Use the java -jar form shown above. To uninstall, remove the files the installer wrote in your file system.
Related QuestionsHow should I start using AspectJ?
AspectJ Frequently Asked QuestionsMany users adopt AspectJ in stages, first using it to understand and validate their systems (relying on it only in development) and then using it to implement crosscutting concerns in production systems. AspectJ has been designed to make each step discrete and beneficial. In the development process Use AspectJ to trace or log interesting information. You can do this by adding simple AspectJ code that performs logging or tracing.
Related QuestionsDo I have to use the AspectJ compiler?
AspectJ Frequently Asked QuestionsThe AspectJ compiler or weaver is required at some point, but many people can use AspectJ without changing their build or deployment process significantly. For aspects that are not required to compile, you can use the AspectJ binary weaver, run at build-time or class-load-time. You can write aspects using the original code style (which must be compiled with the AspectJ compiler) or using the annotation style new in AspectJ 5 (which may be compiled with Javac or the AspectJ compiler).
Related QuestionsHow can I use AspectJ with applets?
AspectJ Frequently Asked QuestionsJust include the aspectjrt.jar as a required archive. For example, here is the HTML code for an HTML editor applet that contains some debugging aspects: <APPLET CODE='com.company.swing.applets.EditorApplet' WIDTH='700' HEIGHT='525'> <PARAM NAME="CODE" VALUE="com.company.swing.applets.EditorApplet" > <PARAM NAME="ARCHIVE" VALUE ="../company-applets.jar,../aspectjrt.jar,../xmlrpc-applet.jar" > <PARAM NAME="type" VALUE="application/x-java-applet;version=1.
Related QuestionsHow do I communicate with other AspectJ users?
AspectJ Frequently Asked QuestionsYou can reach other AspectJ users by using the aspectj-users mailing list. You can subscribe to the list or view the list archives from the AspectJ home page http://eclipse.org/aspectj .
Related QuestionsWhat is the AspectJ development schedule?
AspectJ Frequently Asked QuestionsBelow is a table describing the goals for the major releases. For information about specific features, search the bug database for RFE's ("requests for enhancement") by selecting severity of "enhancement". Like many open-source projects, we don't make or promise schedules, but we do follow a pattern of issuing preview releases which can give observers an idea of when a particular release might be available.
Related QuestionsCan AspectJ work with any Java program?
AspectJ Frequently Asked QuestionsThe AspectJ tools run on any Java 2 Platform compatible platform. The AspectJ compiler produces classes that run on any Java 1.1 (or later) compatible platform.
Related QuestionsCan I use AspectJ with Generic Java?
AspectJ Frequently Asked QuestionsBut at this time, unfortunately not. The two compilers are just not at all compatible. In an ideal world, there would be a wonderful Open Source extensible compiler framework for Java that both GJ and AspectJ would be built on top of, and they would seamlessly interoperate along with all other extensions to Java that you might be interested in, but that's not the case (yet?).
Related QuestionsDo I have to download Eclipse to use AspectJ?
AspectJ Frequently Asked QuestionsNo. The AspectJ tools download is completely self-contained and does not require that you work in Eclipse. For information on IDE support, see Q: How well does AspectJ integrate with existing Java development tools?.
Related QuestionsWhat are the new features of AspectJ 5?
AspectJ Frequently Asked QuestionsAll the new features are documented in the AspectJ 5 Developer's Notebook and the AspectJ Development Environment Guide. To summarize: Java 5 support: as an extension to Java, AspectJ supports all the new language features of Java 5, including generics (parameterized types), autoboxing, covariant return types, enhanced for-loops, enums, varargs, and of course annotations.
Related QuestionsHow do I get and compile the source code for AspectJ?
AspectJ Frequently Asked QuestionsAspectJ 1.0 source code is available in an archive available with the 1.0 downloads. It contains instructions for building from sources. AspectJ 1.1+ source code is available through CVS using the CVS Root dev.eclipse.org:/cvsroot/tools. For more information on accessing the CVS tree at eclipse.org, see the documentation from http://eclipse.org. Find specific instructions in the AspectJ tree at org.aspectj/modules/build/readme-build-and-test-aspectj.html.
Related QuestionsHow do I build AspectJ and integrate it into AJDT?
AspectJ Frequently Asked QuestionsTo build AspectJ, first get the source tree as described in Q:How do I get and compile the source code for AspectJ?. Once you have a development environment set up, copy the build/sample-local.properties file to build/local.properties and within this file point the java14.home and java15.home to the corresponding places on your machine. Navigate to the build directory within your AspectJ workspace (to find out where your workspace is go to File > Switch Workspace within Eclipse).
Related QuestionsHow do I write bugs for the AspectJ compiler?
AspectJ Frequently Asked QuestionsThe best compiler bug report is a reproducible test case, standalone code that demonstrates the problem. Sometimes with aspects, a test case requires several files, if not some way to capture the behavior. Here's how we recommend submitting test cases: Write the test case so that when the compiler bug is fixed, the test completes normally without output (e.g., expected compiler errors are issued, or classes produced run correctly). This usually means writing one or more source files.
Related QuestionsWill AspectJ support Java 5?
AspectJ Frequently Asked QuestionsAspectJ is a registered trademark of Palo Alto Research Center, Incorporated (PARC), used with permission. Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Related QuestionsWhat is the project?
Prevent blindness from age related macular degeneration of e...The London Project to Cure Blindness aims to deliver the world's first stem-cell treatment for dry age-related macular degeneration (AMD) within a five year timescale. A team of researchers and clinicians has been assembled for the project, which will develop the use of human embryonic stem cells to repair damaged retinas. Around a quarter of people over the age of 60 in the UK have some degree of vision loss caused by AMD.
Related QuestionsCadSoft Online: Frequently asked questionsA project in the sense of EAGLE is at first simply a folder which contains various files that belong to your current work. At all accounts the board and schematic file. Possibly one or more specific libraries, a special dru file with subtle Design Rule settings, or possibly in a subdirectory manufacturing data files, and so on. But what it makes a real project is the file eagle.epf in this folder.Related Questions
