java-forum.org
JBoss Seam
Alter Preis: 39,95 €
Jetzt: 0,00 €

zzgl. Versandkosten

Zurück   java-forum.org > Java - Programmierung > Deployment

Deployment Applets, Webstart, Ant, Build Management, Version Mangement, Installer

Antwort    
Themen-Optionen Thema durchsuchen Ansicht
Alt 03.07.2009, 16:18   #1 (permalink)
Neuer Benutzer
Bit
 
Registriert seit: 18.04.2008
Beiträge: 6
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard Maven2 inherited docs nachladen

Guten abend allerseits

Ich bin gerade dabei, meinem Projekt den letzten schliff zu geben. Dazu gehörte unter anderem auch, die javadoc zu vervollständigen und Maven2 vollends zu integrieren

Zuerst kurz die verwendeten Tools/Frameworks/IDE's etc
Maven 2.1.0
SpringFramework 2.5
Eclipse Galileo
Java 6
Tomcat6/Jetty6

Es handelt sich um eine Webapplikation welche mit dem springframework realisiert wurde. Ich habe unteranderem verschiedene Validatoren implementiert, welche alle von org.springframework.validation.Validator ableiten, zudem einige Controller (ableitend von: org.springframework.web.servlet.mvc.Controller) und FormController (org.springframework.web.servlet.mvc.SimpleFormController).

Soweit so gut, keine Probleme. Um mir allerdings die Sache ein wenig zu verkürzen, habe ich die Standardmethoden der Klassen per /** {@inheritDoc} */ gekennzeichnet. Die Methoden sind namentlich:
im Validator: public boolean supports(Class clazz) und public void validate(Object target, Errors errors)

im Controller: public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception

und im FormController: protected ModelAndView showForm(HttpServletRequest request, HttpServletResponse response, BindException errors) throws Exception, protected Object formBackingObject(HttpServletRequest request) throws Exception und protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response, Object obj, BindException errors) throws Exception

Wenn ich nun per mvn javadoc:javadoc die Doku generieren lassen will, existiert bei diesen Methoden zwar ein Eintrag, dass die Javadoc sonst wo definiert wurde, allerdings nicht der inhalt von diesen klassen.
Ich habe danach ein bisschen nachgeforscht, und kam auf die option sourcepath. Ich habs allerdings nicht hingekriegt, das zum laufen zu bringen. Zudem fehlt im Repository (Lokal wie auf Global) das Javadoc.jar der Dependencies.

Meine Frage ist nun, ob es irgendwie möglich ist, die Javadoc dieser Dependencies direkt in meine hineinzuladen, also sozusagen das javadoc-plugin zuerst über die Dependencies laufen zu lassen. Gibts da irgendwas direktes?

Im Anhang mein pom.xml und einer der Validatoren

TechnologyValidator
Java Code: Quelltext in neuem Fenster öffnen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
public class TechnologyAddValidator extends Validator{
    private int minLengthName = DEFAULT_TEXT_MIN_LENGTH, maxLengthName = DEFAULT_TEXT_MAX_LENGTH, minLengthIdent = DEFAULT_IDENT_MIN_LENGTH,
            maxLengthIdent = DEFAULT_IDENT_MAX_LENGTH, minLengthUrl = DEFAULT_URL_MIN_LENGTH, maxLengthUrl = DEFAULT_URL_MAX_LENGTH;
 
    private TechnologyService technologyService;
 
    /**
     * {@inheritDoc}
     */
    @SuppressWarnings("unchecked")
    @Override
    public boolean supports(Class clazz) {
        return TechnologyForm.class.isAssignableFrom(clazz);
    }
 
    /**
     * {@inheritDoc}
     */
    @Override
    public void validate(Object target, Errors errors) {
        int prevErrors = errors.getErrorCount();
        TechnologyForm technologyForm = (TechnologyForm) target;
 
        logger.info("Validation TechnologyForm or subclasses");
 
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "name", "error.required");
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "ident", "error.required");
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "url", "error.required");
 
        if (technologyForm != null) {
            if (technologyForm.getName().length() > maxLengthName) {
                errors.rejectValue("name", "error.too-long", new Object[] { maxLengthName }, "Name too long");
            } else if (technologyForm.getName().length() < minLengthName) {
                errors.rejectValue("name", "error.too-short", new Object[] { minLengthName }, "Name too short");
            }
 
            if (technologyForm.getIdent().length() > maxLengthIdent) {
                errors.rejectValue("ident", "error.too-long", new Object[] { maxLengthIdent }, "Ident too long");
            } else if (technologyForm.getIdent().length() < minLengthIdent) {
                errors.rejectValue("ident", "error.too-short", new Object[] { minLengthIdent }, "Ident too short");
            }
 
            if (technologyForm.getUrl().length() > maxLengthUrl) {
                errors.rejectValue("url", "error.too-long", new Object[] { maxLengthUrl }, "URL too long");
            } else if (technologyForm.getUrl().length() < minLengthUrl) {
                errors.rejectValue("url", "error.too-short", new Object[] { minLengthUrl }, "URL too short");
            }
 
            if (!new UrlValidator().isValid(technologyForm.getUrl())) {
                boolean added = false;
                if (!technologyForm.getUrl().startsWith("http")) {
                    technologyForm.setUrl("http://" + technologyForm.getUrl());
                    added = true;
                }
                if (!new UrlValidator().isValid(technologyForm.getUrl())) {
                    errors.rejectValue("url", "error.url-invalid", new Object[] {}, "URL has invalid format");
                    if (added) {
                        technologyForm.setUrl(technologyForm.getUrl().substring(6));
                    }
                }
            }
 
            if (!technologyService.isUniqueAdd(technologyForm)) {
                errors.rejectValue("ident", "error.already-exists");
            }
        }
 
        if (prevErrors < errors.getErrorCount()) {
            logger.info("Validated TechnologyForm had " + (errors.getErrorCount() - prevErrors) + " validation failures");
        } else {
            logger.info("Validated TechnologyForm is valid");
        }
    }
 
    public int getMinLengthName() {
        return minLengthName;
    }
 
    public int getMaxLengthName() {
        return maxLengthName;
    }
 
    public int getMinLengthIdent() {
        return minLengthIdent;
    }
 
    public int getMaxLengthIdent() {
        return maxLengthIdent;
    }
 
    public int getMinLengthUrl() {
        return minLengthUrl;
    }
 
    public int getMaxLengthUrl() {
        return maxLengthUrl;
    }
 
    public void setMinLengthName(int minLengthName) {
        logger.info("Set minimum length for name to: " + minLengthName);
        this.minLengthName = minLengthName;
    }
 
    public void setMaxLengthName(int maxLengthName) {
        logger.info("Set maximum length for name to: " + maxLengthName);
        this.maxLengthName = maxLengthName;
    }
 
    public void setMinLengthIdent(int minLengthIdent) {
        logger.info("Set minimum length for ident to: " + minLengthIdent);
        this.minLengthIdent = minLengthIdent;
    }
 
    public void setMaxLengthIdent(int maxLengthIdent) {
        logger.info("Set maximum length for ident to: " + maxLengthIdent);
        this.maxLengthIdent = maxLengthIdent;
    }
 
    public void setMinLengthUrl(int minLengthUrl) {
        logger.info("Set minimum length for url to: " + minLengthUrl);
        this.minLengthUrl = minLengthUrl;
    }
 
    public void setMaxLengthUrl(int maxLengthUrl) {
        logger.info("Set maximum length for url to: " + maxLengthUrl);
        this.maxLengthUrl = maxLengthUrl;
    }
 
    public void setTechnologyService(TechnologyService technologyService) {
        this.technologyService = technologyService;
    }
}

Auszug aus pom.xml (build) (Javadoc Plugin ab Zeile 107)
Java Code: Quelltext in neuem Fenster öffnen
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
    <build>
        <plugins>
            <!-- Maven COMPILER plugin -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            
            <!-- Maven WAR plugin -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                    <warName>${project.name}</warName>
                    <archive>
                        <manifestEntries>
                            <classPath>WEB-INF/lib</classPath>
                        </manifestEntries>
                    </archive>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <version>2.0-beta-9</version>
            </plugin>
 
            <!-- Maven RELEASE Plugin -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <version>2.0-beta-9</version>
                <configuration>
                    <tagBase>
                        file:///${localRepository}/ch/clx/azubi/ApprenticePortal
                    </tagBase>
                </configuration>
            </plugin>
 
            <!-- Maven SCM Plugin -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-scm-plugin</artifactId>
                <version>1.2</version>
                <configuration>
                    <connectionType>developerConnection</connectionType>
                    <basedir />
                    <message>Auto checkin by Maven2</message>
                    <goals>package</goals>
                </configuration>
            </plugin>
            
            <!-- Maven RESOURCE plugin -->
            <plugin>
            
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            
            <!-- Maven JAVADOC plugin -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.5</version>
                <configuration>
                    <!-- sourcepath>${localRepository}\**\*.jar</sourcepath--> 
                    <encoding>UTF-8</encoding>
                    <localRepository>${localRepository}</localRepository>
                </configuration>
            </plugin>
            
            <!-- Maven DEPENDENCY plugin -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.1</version>
            </plugin>
        </plugins>
    </build>
Kjatar ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 03.07.2009, 16:26   #2 (permalink)
Java-Forum Team
Moderator
 
Registriert seit: 13.09.2007
Beiträge: 8.077
Abgegebene Danke: 3
Erhielt 67 Danke für 65 Beiträge
Zitat:
Meine Frage ist nun, ob es irgendwie möglich ist, die Javadoc dieser Dependencies direkt in meine hineinzuladen, also sozusagen das javadoc-plugin zuerst über die Dependencies laufen zu lassen. Gibts da irgendwas direktes?
Meinst du dass in deiner JavaDoc ein Link zB. zur orignal Javadoc eingefügt wird bei einem String oder ähnlichem?
Wenn ja, dann lies mal das hier, hab da mal ein Micro-Beispiel gepostet: http://www.java-forum.org/ides-und-t...tml#post524699
maki ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 03.07.2009, 16:34   #3 (permalink)
Neuer Benutzer
Bit
Themenstarter
 
Registriert seit: 18.04.2008
Beiträge: 6
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
ne, nicht ein Link sondern den Inhalt der jeweiligen Javadok direkt.
Wie wenn man in einem Interface eine Methode mit Javadoc beschreibt und in der Implementierenden Klasse nur noch @inheritDoc schreibt. Dann wird in der endgültigen Javadoc sowohl im Interface wie auch in der Subklasse derselbe Text geschrieben.
Dasselbe möchte ich auch für die Klassen erreichen, welche von einem Interace/einer Klasse ableiten, die ich nicht selbst geschrieben habe
Kjatar ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 03.07.2009, 16:44   #4 (permalink)
Java-Forum Team
Moderator
 
Registriert seit: 13.09.2007
Beiträge: 8.077
Abgegebene Danke: 3
Erhielt 67 Danke für 65 Beiträge
Zitat:
ne, nicht ein Link sondern den Inhalt der jeweiligen Javadok direkt.
Geht das denn mit JavaDoc? Soweit ich weiss nicht...
maki ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 03.07.2009, 21:16   #5 (permalink)
Stammbenutzer
Kilobyte
 
Registriert seit: 01.09.2005
Beiträge: 656
Abgegebene Danke: 1
Erhielt 7 Danke für 7 Beiträge
Hi,

ich würde die Variante von maki mit der Konfiguration für die Links einfach mal probieren..und die URL für die JavaDoc von Spring angeben...mal schauen was das JavaDoc Plugin draus macht....

EDIT: Apropos warum hast Du das maven-release-plugin zweimal drin ?

MfG
Karl Heinz Marbaise
kama ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Antwort    

Lesezeichen

Stichworte
inheritdoc, maven, spring

Latex Maths & Physics Editor ...

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Maven2 -> Nachladen der Dependencies hrbaer Deployment 4 31.08.2009 21:43
Maven2 Projekt unter Hudson mit SVN Repository erstellen Nightshadow Deployment 4 01.06.2009 00:00
Anfängerfragen zu maven2 JRoxx Deployment 2 30.03.2009 21:11
AspectJ und Maven2 DEvent Allgemeine Java-Themen 0 18.02.2009 10:13
Mit Maven2 und XDoclet ein EJB-Projekt erstellen und deployn Schludi Allgemeines EE 1 07.04.2007 18:06


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:02 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2
Thanks for Smilies by smilies.4-user.de