Javadoc - como visualizar os comentários na minha classe

Olá pessoal tudo bem com vocês, gostaria de uma força sobre esse assunto pois passei bastante tempo procurando e não conseguir encontrar algo parecido.

O problema é que atualmente eu criei um biblioteca para as minhas aplicações interagirem com o banco de dados. E nessa biblioteca eu tenho alguns cometários do estilo javadoc, só que queria visualiza-la quando eu chamasse a minha biblioteca em outras aplicações.

Estou utilizando a IDE intellij e isso permite que eu possa visualizar minha biblioteca, só que quando faço isso não visualizo os meus cometários. Eu entendo que o java não compila e não interpreta comentários, mas gostaria de saber como faço para visualizar pois sei que outras classes de terceiros tem esse recurso. Desde já agradeço!

A forma que conheço é assim:

/**
* Disposes of this graphics context once it is no longer 
* referenced.
*
* @see       #dispose()
* @since     1.0
*/
public void finalize() {
    dispose();
}

O que vc quer que apareça é um outro comentário diferente desse do exemplo?

@Lucas_Camara
Esse é o que eu quero que apareça no meu projeto
Esse é o projeto externo a minha biblioteca

package com.github.leosant.mongoConfig;

import com.mongodb.ConnectionString;
import com.mongodb.MongoClientSettings;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.config.AbstractMongoClientConfiguration;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;

@Configuration
@EnableMongoRepositories(
    basePackages = {"com.github.leosant.mongoConfig"}
)
public abstract class MongoConfig extends AbstractMongoClientConfiguration implements IMongoConfig {
    private static MongoClient mongoConnection = null;
    private static String mongoDatabase = null;

    public MongoConfig() {
    }

    public static void mongoClientLocal(Integer port, String database) {
        String fullPathUrl = "mongodb://localhost:" + port + String.format("/%1$s", database);
        mongoClient(fullPathUrl, database);
    }

    public static void mongoClientCluster(String mongoSrv, String database) {
        mongoClient("mongodb+srv://" + mongoSrv, database);
    }

    protected static void mongoClient(String connection, String database) {
        ConnectionString connectionString = new ConnectionString(connection);
        MongoClientSettings settings = MongoClientSettings.builder().applyConnectionString(connectionString).build();
        mongoConnection = MongoClients.create(settings);
        mongoDatabase = database;
    }

    public static MongoTemplate mongoTemplate() {
        return new MongoTemplate(mongoConnection, mongoDatabase);
    }

    protected String getDatabaseName() {
        return "test";
    }
}

na minha biblioteca está assim e assim que eu queria que ficasse no meu projeto externo

package com.github.leosant.mongoConfig;

import com.mongodb.ConnectionString;
import com.mongodb.MongoClientSettings;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;

import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.config.AbstractMongoClientConfiguration;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;

/**
 * Class responsible in configuration of connection with database mongodb
 * @author Leonardo Santos
 */
@Configuration
@EnableMongoRepositories(basePackages = "com.github.leosant.mongoConfig")
public abstract class MongoConfig extends AbstractMongoClientConfiguration implements IMongoConfig{

    private static MongoClient mongoConnection = null;
    private static String mongoDatabase = null;

    /**
     * Configure in connection with database local and parse the responsible for methods
     * mongoClient()
     * @param port of database
     * @param database String of connection with database expected name of database
     */
    public static void mongoClientLocal(Integer port, String database) {
        String fullPathUrl = "mongodb://localhost:" + port +
                String.format("/%1$s", database);
        mongoClient(fullPathUrl, database);
    }

    /**
     * Configure in connection with database to cluster in mongodb
     * responsible for establish are connection methods mongoClient
     * @param mongoSrv String of connection with database (mongoSrv start with "mongodb+srv://", expected of string after "mongodb+srv://")
     * @param database String of connection with database expected name of database
     */
    public static void mongoClientCluster(String mongoSrv, String database) {
        mongoClient("mongodb+srv://"+mongoSrv, database);
    }

    /**
     * Configure in connection with database
     * method also create configuration of mongoTemplate
     * @param connection String of connection with database
     * @param database String with the name of database
     */
    protected static void mongoClient(String connection, String database) {
        ConnectionString connectionString = new ConnectionString(connection);
        MongoClientSettings settings = MongoClientSettings.builder()
                .applyConnectionString(connectionString)
                .build();
        mongoConnection = MongoClients.create(settings);
        mongoDatabase = database;
    }

    /**
     * Allows transaction with database from of a connection pre-established
     * @return MongoTemplate for possible transaction with database
     */
    public static MongoTemplate mongoTemplate() {
        return new MongoTemplate(mongoConnection, mongoDatabase);
    }

    /**
     * method no used
     * @return string "test"
     */
    @Override
    protected String getDatabaseName() {
        return "test";
    }
}

Esse código foi aberto usando o decompiler do intellij?

Sim, e a biblioteca está no .m2

As libs que aparecem os comentários que acredito que vc esteja falando é que tanto o maven qto o gradle fazem o download do código fonte da lib e vincula à dependência. Por isso que, quando vc olha o código, os comentários estão lá.

Para vc gerar o jar da sua lib com o código, vc pode dá uma olhada nesse link: http://maven.apache.org/plugins/maven-source-plugin/usage.html

1 curtida

Infelizmente não deu certo com as sugestões do site, até tentei procurar algo parecido mas sem sucesso.
@Lucas_Camara você entendeu a minha ideia. se tiver outra solução agradeço.

Então @Lucas_Camara acabei fazendo algumas tentativas e gerei um .jar do javadoc na mão mesmo. E com isso minha mente abriu porque funcionou, então voltei a utiliza o build do site que você me passou e entendi o que ele estava fazendo e o sources.jar que ele gera, também resolve o meu problema. Então eu simplesmente coloquei a minha aplicação externa para baixar o source e funcionou. Obrigadão pela ajuda!!!

2 curtidas