palantir/roboslack

java.lang.NoClassDefFoundError: com/palantir/roboslack/clients/SlackClients when depending on roboslack-webhook 1.1.0

elektron9 opened this issue · 2 comments

Try depending on roboslack-webhook 1.1.0 and running this sample code:

public static void main(String[] args) {

  WebHookToken token = WebHookToken.fromEnvironment();

 MessageRequest msg = MessageRequest.builder()
                .username("Slack Oncall Service")
                .iconEmoji(SlackMarkdown.EMOJI.decorate("sos"))
                .channel("slack-dev-msgs")
                .text("[CRITICAL] Error Logged in MailService - " + SlackMarkdown.LINK.decorate(url
                        ("https://localhost:9600/?pretty"), "[Logstash Link]"))
                .build();
        ResponseCode code = SlackWebHookService.with(token).sendMessage(msg);

        System.out.println(code);

}

We receive this error message:

Exception in thread "main" java.lang.NoClassDefFoundError: com/palantir/roboslack/clients/SlackClients
	at com.palantir.roboslack.webhook.SlackWebHookService.<init>(SlackWebHookService.java:53)
	at com.palantir.roboslack.webhook.SlackWebHookService.with(SlackWebHookService.java:64)
	at Main.main(Main.java:58)
Caused by: java.lang.ClassNotFoundException: com.palantir.roboslack.clients.SlackClients
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 3 more

Yeah, when testing the publication locally it seems like it's not picking up the compiled dependencies:

./gradlew publishNebulaPublicationToMavenLocal

Then in ~/.m2/repository/com/palantir/roboslack/roboslack-webhook/1.1.0 ->

 ❯ jar xvf roboslack-webhook-1.1.0.jar | less
  created: META-INF/
 inflated: META-INF/MANIFEST.MF
  created: com/
  created: com/palantir/
  created: com/palantir/roboslack/
  created: com/palantir/roboslack/webhook/
 inflated: com/palantir/roboslack/webhook/ResponseCodeConverter$1.class
 inflated: com/palantir/roboslack/webhook/ResponseCodeConverter.class
 inflated: com/palantir/roboslack/webhook/SlackWebHookService.class

Solved, cutting a new release