Skip to content

Oh, une Version Mac ? #11

@jimetevenard

Description

@jimetevenard

Ben, zut ! Moi on m'a dit de faire du Java parcque "ça marche sur tous les OS" !

Steve Jobs est très vexé !

image

Plus sérieusement

Tu peux utiliser la system property os.name pour savoir sur quel OS tu es (et faire des trucs en fonction de ça)

public class Truc {

    public static void main(String[] args){
        System.out.println( System.getProperty("os.name").toLowerCase());
    }

}

Ce qui, chez moi, donne :

jetevenard@paris-142 ladybug % javac Truc.java
jetevenard@paris-142 ladybug % java Truc 
mac os x

Plus généralement

ton problème ici n'est pas d'être sur Mac, mais de ne pas être sur Windows (et donc de ne pas avoir les libs ystème liées à la XBox) - le même problème existera sous Linux

Pour rester dans le moule Spring, tu peux utiliser une Condition Spring pour ne pas instancier les Beans dans ce cas là :

import org.springframework.context.annotation.Condition;
import org.springframework.context.annotation.ConditionContext;
import org.springframework.core.type.AnnotatedTypeMetadata;

public class WindowsHost implements Condition {

	@Override
	public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
		return System.getProperty("os.name").startsWith("Windows");
	}
}

Et sur un Bean :

import org.springframework.context.annotation.Conditional;

@Component
@Conditional(WindowsHost.class)
public class XBoxOneControllerManager {

	 // Ta Classe....
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions