小编g00*_*00b的帖子

无法执行jar文件:"没有主要清单属性"

我已经安装了一个应用程序,当我尝试运行它时(它是一个可执行的jar)没有任何反应.当我从命令行运行它时:

java -jar"app.jar"

我收到以下消息:

"app.jar"中没有主要的清单属性

通常,如果我自己创建了程序,我会在清单文件中添加一个主类属性.但在这种情况下,由于文件来自应用程序,我不能这样做.我也尝试提取jar以查看是否可以找到主类,但是有许多类,并且它们中没有一个在其名称中包含"main"一词.必须有办法解决这个问题,因为程序在其他系统上运行正常.

java program-entry-point jar manifest

875
推荐指数
21
解决办法
125万
查看次数

JPA OneToMany不删除孩子

@OneToMany在父实体和子实体之间进行简单映射时遇到问题.一切正常,只有当我从集合中删除它们时才会删除子记录.

父母:

@Entity
public class Parent {
    @Id
    @Column(name = "ID")
    private Long id;

    @OneToMany(cascade = {CascadeType.ALL}, mappedBy = "parent")
    private Set<Child> childs = new HashSet<Child>();

 ...
}
Run Code Online (Sandbox Code Playgroud)

孩子:

@Entity
public class Child {
    @Id
    @Column(name = "ID")
    private Long id;

    @ManyToOne(cascade = CascadeType.ALL)
    @JoinColumn(name="PARENTID", nullable = false)
    private Parent parent;

  ...
}
Run Code Online (Sandbox Code Playgroud)

如果我现在从子集Set中删除和子节点,它不会从数据库中删除.我试图使child.parent引用无效,但这也无效.

实体用于Web应用程序,删除是作为Ajax请求的一部分发生的.按下保存按钮时,我没有已删除子项的列表,因此我无法隐式删除它们.

java jpa jpa-1.0

148
推荐指数
5
解决办法
13万
查看次数

如何在Spring Boot RestController中获取请求URL

我试图在RestController中获取请求URL.RestController有多个注释@RequestMapping用于不同URI的方法,我想知道如何从@RequestMapping注释中获取绝对URL .

@RestController
@RequestMapping(value = "/my/absolute/url/{urlid}/tests"
public class Test {
   @ResponseBody
   @RequestMapping(value "/",produces = "application/json")
   public String getURLValue(){
      //get URL value here which should be in this case, for instance if urlid      
       //is 1 in request then  "/my/absolute/url/1/tests"
      String test = getURL ?
      return test;
   }
} 
Run Code Online (Sandbox Code Playgroud)

java spring spring-boot

31
推荐指数
4
解决办法
6万
查看次数

CSRF 保护不适用于 Spring Security 6

我将项目升级到 Spring Boot 3 和 Spring Security 6,但升级后 CSRF 保护不再起作用。

我正在使用以下配置:

@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
    return http
        .authorizeHttpRequests(authorize -> authorize
            .anyRequest().authenticated())
        .httpBasic(withDefaults())
        .sessionManagement(session -> session
            .sessionCreationPolicy(SessionCreationPolicy.ALWAYS))
        .csrf(csrf -> csrf
            .csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse()))
        .build();
}

@Bean
public UserDetailsService userDetailsService() {
     UserDetails user = User.builder().username("user").password("{noop}test").authorities("user").build();
     return new InMemoryUserDetailsManager(user);
}
Run Code Online (Sandbox Code Playgroud)

在我的网页上只有一个按钮:

<button id="test">Test CSRF</button>
Run Code Online (Sandbox Code Playgroud)

以及以下 JavaScript 代码:

document.querySelector("#test").addEventListener('click', async function() {
  console.log('Clicked');
  // This code reads the cookie from the browser
  // Source: https://stackoverflow.com/a/25490531
  const csrfToken = document.cookie.match('(^|;)\\s*XSRF-TOKEN\\s*=\\s*([^;]+)')?.pop();
  const result = …
Run Code Online (Sandbox Code Playgroud)

csrf spring-security spring-boot

25
推荐指数
4
解决办法
2万
查看次数

“org.springframework.boot.web.server.LocalServerPort”已弃用

自 Spring boot 2.7.1 起,@LocalServerPort(在包中org.springframework.boot.web.server.LocalServerPort)已被弃用。

我可以用什么来代替这个注释?

spring-test spring-boot

20
推荐指数
3
解决办法
2万
查看次数

在Tomcat/Jetty上部署的Spring启动应用程序与.war文件

在我的例子中,让我们考虑使用Spring Boot创建和配置的简单RESTful服务.该服务与数据库(例如Postgres)通信.

有什么区别:

  • 构建一个Spring Boot .jar文件并通过我的远程公共主机运行它java -jar myservice.jar

要么

  • .war将其打包到文件并在Tomcat/Jetty上部署?

第一个选项似乎更容易,你只需要运行一个.jar.在第二个选项中,您需要创建Tomcat实例,运行它然后部署.war文件.还有其他区别吗?这两种方法的优缺点是什么?

java tomcat jetty spring-boot

19
推荐指数
1
解决办法
1万
查看次数

Thymeleaf + CSS + SpringBoot

我有CSS和Thymeleaf的问题.

在我的Spring启动应用程序中,我有这样的结构:

  • src/main/resource/static/css(用于css文件)
  • src/main/resource/static/templates(用于html文件)

现在,我的html页面名为ErrorPage,css文件名为Layout.css,使用Thymeleaf,我在ErrorPage的头部:

<link href="../css/Layout.css" th:href="@{css/Layout.css}" type="text/css" />
Run Code Online (Sandbox Code Playgroud)

但这不起作用.

我究竟做错了什么?

css3 thymeleaf spring-boot

16
推荐指数
1
解决办法
3万
查看次数

Zuul和Ribbon集成

我无法理解Zuul和Ribbon之间的联系.

我想我清楚了.这是一个反向代理,我可以联系以达到我的几个服务实例之一.它将使用循环算法或您配置的任何内容来选择正确的服务器.它是传统的负载均衡器.要知道可用的实例,它可以使用像Eureka这样的注册表.

但是我在Ribbon上遇到了更多麻烦.它作为客户端负载均衡器出售,但它意味着什么?它不需要外部服务器?功能区是否与Eureka客户端一样嵌入客户端?如果是这样,它是如何工作的?我使用Ribbon时是否需要Zuul,反之亦然?

在一些文章中,我看到实际上,Zuul默认使用Ribbon作为负载平衡部分,这让我更加困惑.如果这是真的,"客户端"是什么意思?除了路由之外,Zuul会怎么做?

我希望你能帮助我.

netflix netflix-zuul netflix-ribbon

16
推荐指数
1
解决办法
6041
查看次数

Netflix-Zuul vs Mashape-Kong

Zuul和kong都是微服务架构中的一个很好的API网关层.这两者之间有什么重要的区别?

mashape microservices kong netflix-zuul

13
推荐指数
1
解决办法
7946
查看次数

带有Spring Cloud和Eureka的功能区:java.lang.IllegalStateException:没有可用于Samarths-MacBook-Pro.local的实例

我正在使用Ribbon Load Balancer处理Spring Boot Eureka客户端应用程序.

我有两个服务器在Eureka注册,名称为"TEST".在客户端,我有以下代码从Eureka获取服务器.

@Configuration
@ComponentScan
@EnableAutoConfiguration
@EnableEurekaClient
@RestController
public class EurekaConsumerApplication {

    @Autowired
    DiscoveryClient discoveryClient;

    @Autowired
    RestTemplate restTemplate;

    @RequestMapping(value = "/",method = RequestMethod.GET)
    String consumer(){
        InstanceInfo instance = discoveryClient.getNextServerFromEureka("TEST",        false);

        URI uri = UriComponentsBuilder.fromUriString(instance.getHomePageUrl() + "baseDir")
            .build()
            .toUri();
        String baseDir = restTemplate.getForObject(uri, String.class);

        return baseDir;

    }

    public static void main(String[] args) {
        SpringApplication.run(EurekaConsumerApplication.class, args);
    }
}
Run Code Online (Sandbox Code Playgroud)

application.yml

spring:
  application:
    name: consumer
info:
  component: Consumer to fetch configuration
server:
  port: 8090
eureka:
  instance:
   leaseRenewalIntervalInSeconds: 3
  metadataMap:
    instanceId:   ${vcap.application.instance_id:${spring.application.name}:${spring.application.instance_id:${random.value}}} …
Run Code Online (Sandbox Code Playgroud)

resttemplate spring-boot spring-cloud netflix-eureka netflix-ribbon

11
推荐指数
2
解决办法
2万
查看次数