Ir para conteúdo

[Dúvida] Jar que vocês usam..


Ducky

Posts Recomendados

Olá, na maioria das vezes quando posto alguns plugins FREE, faço eles todos com uma Spigot jar que uso no servidor localhost, e acabo utilizando ela na importação dos projetos.. Porém, ela não é muito (compatível) já que dá maioria das vezes vem a falhar quando os plugins são testados em outras jar.. Gostaria de saber qual vocês programadores tem mais tendencia a usar e que da maioria das vezes funcionam nas JARs que os servidores, clientes usam se problema algum.

Link para o comentário
Compartilhar em outros sites

Brother ja aconteceu comigo a mesma coisa e era o jdk...

 

 

Sempre utilizo minha boa e venha Spigot 1.8.8 seu problema pode estar envolvido a sua JDK.

 

 

Eu sempre uso o Spigot 1.8. Esses problemas que você citou, pode ser pelo fato de no código não estar com reflection.

Quais desses:

 

 

Kit 8u151 

Kit 8u152

 

Vocês recomendam/usam?!

Link para o comentário
Compartilhar em outros sites

Existem diversos fatores para sua aplicação não funcionar em outro ambiente.

 

O primeiro deles é método/classe inexistente na jar que o usuário vai usar para executar essa aplicação:

 

Um exemplo:

No Spigot, existe um método chamado #spigot(Responsável por retornar a classe Uma_classe_que_tem_essa_classe.Spigot) na maioria das classes do Bukkit, esse método só existe no Spigot ou nos forks dele (bem, acredito que seja para todos os forks). Por exemplo: Se você tentar usar o método de dar respawn no player usando os recursos da classe Spigot, vai funcionar tranquilamente, mas se você usar no Bukkit, não vai funcionar, porque essa classe NÃO existe.

 

Versões do minecraft:

 

Se você interage diretamente com o minecraft_server, você tem um problema. Cada versão tem sua package nomeada com sua versão, ou seja, se você usa a versão 1.8, ela ficará assim: minecraftserver.18, mas se o usuário executar na versão 1.8.9, ela ficará assim: minecraftserver.18_9. Como você pode imaginar, sua versão vai estar querendo recuperar uma versão que não existe.

A melhor solução é usar Reflection, mas você tem que ter um certo controle.

 

Java e suas versões:

 

Cada versão do Java tem algo diferente(afinal, não teria sentido ter uma nova versão sem modificar nada). Java 8 tem novos recursos bons, que versões inferiores não tem.

Geralmente, pode ser que remova algum recurso ou adicione.

Portanto, se você usa algum recurso que exista no java 8, mas não no java 7, causará erro. A famosa exception ClassNotFoundException.

 

Esses são alguns dos fatores bem comuns, para a melhor solução é que os clientes e você usem a versão do java e jars atualizadas.

Algumas hosts, pelo menos antes, usavam java 7 e a maioria dos erros eram causadas por esse motivo. Enquanto o plugin trabalhava com recursos do Java 8, o servidor era executado no Java 7.

Link para o comentário
Compartilhar em outros sites

PaperSpigot 1.8.8, não use 1.8.0- pq não tem json.

Se quer que funcione com várias versões, use reflection quando nos imports tem algo tipo "v1_8_8" ou algo assim parecido

 

 

Java 8, agora quase todos plugins tem um pouco de lambda

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...