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