Na hora que inicio o projeto com o Run e abro o localhost:9000 apresenta inúmeros erros de compilação, como resolve isso?
Na hora que inicio o projeto com o Run e abro o localhost:9000 apresenta inúmeros erros de compilação, como resolve isso?
A imagem está bem pequena... pode colar o erro aqui no fórum para a gente tentar ajudar? o mesmo erro aparece no console do play.
--- (Running the application, auto-reloading is enabled) ---
[info] p.c.s.NettyServer - Listening for HTTP on /0:0:0:0:0:0:0:0:9000
(Server started, use Ctrl+D to stop and go back to the console...)
[info] Compiling 6 Scala sources and 10 Java sources to /home/keven/Downloads/new-project/target/scala-2.11/classes... [error] /home/keven/Downloads/new-project/app/controllers/AsyncController.java:47: ')' expected [error] return getFutureMessage(1, TimeUnit.SECONDS).thenApplyAsync(Results::ok, exec); [error] ^ [error] /home/keven/Downloads/new-project/app/controllers/AsyncController.java:47: illegal start of expression [error] return getFutureMessage(1, TimeUnit.SECONDS).thenApplyAsync(Results::ok, exec); [error] ^ [error] /home/keven/Downloads/new-project/app/controllers/AsyncController.java:47: ';' expected [error] return getFutureMessage(1, TimeUnit.SECONDS).thenApplyAsync(Results::ok, exec); [error] ^ [error] /home/keven/Downloads/new-project/app/controllers/AsyncController.java:51: illegal start of type [error] CompletableFuture future = new CompletableFuture<>(); [error] ^ [error] /home/keven/Downloads/new-project/app/controllers/AsyncController.java:54: illegal start of expression [error] () -> future.complete("Hi!"), [error] ^ [error] /home/keven/Downloads/new-project/app/controllers/AsyncController.java:54: illegal start of expression [error] () -> future.complete("Hi!"), [error] ^ [error] /home/keven/Downloads/new-project/app/filters/ExampleFilter.java:40: illegal start of expression [error] result -> result.withHeader("X-ExampleFilter", "foo"), [error] ^ [error] /home/keven/Downloads/new-project/app/services/ApplicationTimer.java:42: illegal start of expression [error] appLifecycle.addStopHook(() -> { [error] ^ [error] /home/keven/Downloads/new-project/app/services/ApplicationTimer.java:42: illegal start of expression [error] appLifecycle.addStopHook(() -> { [error] ^ [error] /home/keven/Downloads/new-project/app/services/ApplicationTimer.java:42: illegal start of expression [error] appLifecycle.addStopHook(() -> { [error] ^ [error] /home/keven/Downloads/new-project/app/services/ApplicationTimer.java:42: ';' expected [error] appLifecycle.addStopHook(() -> { [error] ^ [error] /home/keven/Downloads/new-project/app/services/ApplicationTimer.java:47: illegal start of type [error] }); [error] ^ [error] /home/keven/Downloads/new-project/app/services/ApplicationTimer.java:50: class, interface, or enum expected [error] } [error] ^ [error] (compile:compileIncremental) javac returned nonzero exit code [info] Compiling 6 Scala sources and 10 Java sources to /home/keven/Downloads/new-project/target/scala-2.11/classes... [error] /home/keven/Downloads/new-project/app/controllers/AsyncController.java:47: ')' expected [error] return getFutureMessage(1, TimeUnit.SECONDS).thenApplyAsync(Results::ok, exec); [error] ^ [error] /home/keven/Downloads/new-project/app/controllers/AsyncController.java:47: illegal start of expression [error] return getFutureMessage(1, TimeUnit.SECONDS).thenApplyAsync(Results::ok, exec); [error] ^ [error] /home/keven/Downloads/new-project/app/controllers/AsyncController.java:47: ';' expected [error] return getFutureMessage(1, TimeUnit.SECONDS).thenApplyAsync(Results::ok, exec); [error] ^ [error] /home/keven/Downloads/new-project/app/controllers/AsyncController.java:51: illegal start of type [error] CompletableFuture future = new CompletableFuture<>(); [error] ^ [error] /home/keven/Downloads/new-project/app/controllers/AsyncController.java:54: illegal start of expression [error] () -> future.complete("Hi!"), [error] ^ [error] /home/keven/Downloads/new-project/app/controllers/AsyncController.java:54: illegal start of expression [error] () -> future.complete("Hi!"), [error] ^ [error] /home/keven/Downloads/new-project/app/filters/ExampleFilter.java:40: illegal start of expression [error] result -> result.withHeader("X-ExampleFilter", "foo"), [error] ^ [error] /home/keven/Downloads/new-project/app/services/ApplicationTimer.java:42: illegal start of expression [error] appLifecycle.addStopHook(() -> { [error] ^ [error] /home/keven/Downloads/new-project/app/services/ApplicationTimer.java:42: illegal start of expression [error] appLifecycle.addStopHook(() -> { [error] ^ [error] /home/keven/Downloads/new-project/app/services/ApplicationTimer.java:42: illegal start of expression [error] appLifecycle.addStopHook(() -> { [error] ^ [error] /home/keven/Downloads/new-project/app/services/ApplicationTimer.java:42: ';' expected [error] appLifecycle.addStopHook(() -> { [error] ^ [error] /home/keven/Downloads/new-project/app/services/ApplicationTimer.java:47: illegal start of type [error] }); [error] ^ [error] /home/keven/Downloads/new-project/app/services/ApplicationTimer.java:50: class, interface, or enum expected [error] } [error] ^ [error] (compile:compileIncremental) javac returned nonzero exit code [error] application -
! @73bhpn6i0 - Internal server error, for (GET) [/] ->
play.sbt.PlayExceptions$CompilationException: Compilation error[ ')' expected] at play.sbt.PlayExceptions$CompilationException$.apply(PlayExceptions.scala:27) at play.sbt.PlayExceptions$CompilationException$.apply(PlayExceptions.scala:27) at scala.Option.map(Option.scala:145) at play.sbt.run.PlayReload$$anonfun$taskFailureHandler$1.apply(PlayReload.scala:49) at play.sbt.run.PlayReload$$anonfun$taskFailureHandler$1.apply(PlayReload.scala:44) at scala.Option.map(Option.scala:145) at play.sbt.run.PlayReload$.taskFailureHandler(PlayReload.scala:44) at play.sbt.run.PlayReload$.compileFailure(PlayReload.scala:40) at play.sbt.run.PlayReload$$anonfun$compile$1.apply(PlayReload.scala:17) at play.sbt.run.PlayReload$$anonfun$compile$1.apply(PlayReload.scala:17)
Eu consegui resolver esse erro atualizando a versão do Java, porém agora não consigo me conectar ao banco
Configuration error
Cannot connect to database [default]
In /home/keven/Downloads/produtos-api/target/scala-2.11/classes/application.conf:351
347
348 # Default database configuration using MySQL database engine
349 # Connect to playdb as playdbuser
350 default.driver=com.mysql.jdbc.Driver
351 default.url="jdbc:mysql://localhost:3306/projetos_api"
352 default.username=root
353 default.password=""
354
Qual erro apresenta na conexão com o banco ?
O error é na linha 351, porém aqui tá tudo normal... Eu até importei o projeto da aula do mesmo jeito que o instrutor fez e é o mesmo problema.
Ali eu coloquei porta 3306 mas já tentei sem a porta e nada.
Eu sinto que ele não consegue mesmo se conectar ao banco de dados, lá em cima tem assim:
Cannot connect to database [default]
Eu até to fazendo um teste aqui pelo terminal eu não consigo entrar no banco de dados normalmente;
Usando; mysql -uroot -p
Da esse erro:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
Eu só consigo entrar no banco de dados como super usuário (sudo su)
E eu sinto que talvez por isso esteja impedindo a conexão com o banco.
Uma outra observação é que eu fiz o mesmo processo usando o ubuntu 16.04 nativamente aqui no meu pc com dual boot e é onde estou enfrentando esses problemas.
E fiz através da máquina virtual usando kali linux, fiz os mesmos procedimentos e lá funcionou sem erro algum, inclusive a parte do banco de dados.
Eu poderia fazer pelo kali porém meu computador não é tão potente assim a ponto de tirar maior proveito da máquina.
O problema é com o ubuntu mesmo, com o user root, ele usa o auth_socket , que só deixa fazendo como com o comando -sudo.
Uma solução seria voce criar um outro usuário com o mesmo nome do seu system_user, faça os seguintes passos:
$ sudo mysql -u root
mysql> USE mysql;
mysql> CREATE USER '<<<nomeDoUsuarioDoSistema>>>'@'localhost' IDENTIFIED BY '';
mysql> GRANT ALL PRIVILEGES ON * . * TO '<<<nomeDoUsuarioDoSistema>>>'@'localhost';
mysql> UPDATE user SET plugin='auth_socket' WHERE User='<<<nomeDoUsuarioDoSistema>>>';
mysql> FLUSH PRIVILEGES;
mysql> exit;
Reinicie o servidor do mySQL e depois se conecte com o novo usuario criado.